diff --git a/Inputs/EventGenerator/11Li.beam b/Inputs/EventGenerator/11Li.beam index cd92cf20ee125da3baa228a1304b6f3f139cea6a..61a540b386fec099b7d953d4c41d687d115f6d1c 100644 --- a/Inputs/EventGenerator/11Li.beam +++ b/Inputs/EventGenerator/11Li.beam @@ -2,17 +2,17 @@ %%%%%%%%% Reaction file for 11Li(d,3He)10He reaction %%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Beam - Particle= 10He - Energy= 553 + Particle= 11Li + Energy= 553 SigmaEnergy= 20 SigmaThetaX= 0.6138 SigmaPhiY= 0.3812 SigmaX= 6.216 SigmaY= 6.109 - MeanThetaX= 0 - MeanPhiY= 0 - MeanX= 1.773 - MeanY= -0.1375 - %EnergyProfilePath= - %XThetaXProfilePath= - %YPhiYProfilePath= + MeanThetaX= 0 + MeanPhiY= 0 + MeanX= 1.773 + MeanY= -0.1375 + %EnergyProfilePath= + %XThetaXProfilePath= + %YPhiYProfilePath= diff --git a/NPLib/CMakeLists.txt b/NPLib/CMakeLists.txt index 0f10c8e49d6891d47c8fcd4c15bbfcbfffcbc1ea..e4a77e6eca82127049b9d464ac4f43286db631bc 100644 --- a/NPLib/CMakeLists.txt +++ b/NPLib/CMakeLists.txt @@ -16,6 +16,21 @@ set(NPLIB_VERSION_MINOR 2) # Change any of the detector in NPA set(NPLIB_VERSION_DETA 45) +#activate Multithreading (on by default) +if(NOT DEFINED NPMULTITHREADING) + set(NPMULTITHREADING 1) + else() + set(NPMULTITHREADING ${NPMULTITHREADING}) +endif() + +if(NPMULTITHREADING) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNPMULTITHREADING=1") + message("Building application with MultiThreading Support") + else() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNPMULTITHREADING=0") + message("Building application with no MutilThreading Support") +endif() + configure_file(Core/NPLibVersion.h.in Core/NPLibVersion.h @ONLY) set(DETLIST ${ETLIST}) diff --git a/NPLib/Detectors/Dali/TDaliData.cxx b/NPLib/Detectors/Dali/TDaliData.cxx index 6121c3f3cff989baadcfba5050b59a733b3da3dd..542de349e870945908a19791576e294c234fefa6 100644 --- a/NPLib/Detectors/Dali/TDaliData.cxx +++ b/NPLib/Detectors/Dali/TDaliData.cxx @@ -46,9 +46,11 @@ TDaliData::~TDaliData() { void TDaliData::Clear() { // Energy fDali_E_DetectorNbr.clear(); + fDali_ADC.clear(); fDali_Energy.clear(); // Time fDali_T_DetectorNbr.clear(); + fDali_TDC.clear(); fDali_Time.clear(); } @@ -65,6 +67,7 @@ void TDaliData::Dump() const { for (size_t i = 0 ; i < mysize ; i++){ cout << "DetNbr: " << fDali_E_DetectorNbr[i] + << " ADC: " << fDali_ADC[i] << " Energy: " << fDali_Energy[i]; } @@ -74,6 +77,7 @@ void TDaliData::Dump() const { for (size_t i = 0 ; i < mysize ; i++){ cout << "DetNbr: " << fDali_T_DetectorNbr[i] + << " TDC: " << fDali_TDC[i] << " Time: " << fDali_Time[i]; } } diff --git a/NPLib/Detectors/Dali/TDaliData.h b/NPLib/Detectors/Dali/TDaliData.h index dfd03273549896df90bf26095d3047813463e6dd..43c26549f4c3d8fd256d839ddc66fe280d79b2d6 100644 --- a/NPLib/Detectors/Dali/TDaliData.h +++ b/NPLib/Detectors/Dali/TDaliData.h @@ -36,10 +36,12 @@ class TDaliData : public TObject { private: // Energy vector<UShort_t> fDali_E_DetectorNbr; + vector<Double_t> fDali_ADC; vector<Double_t> fDali_Energy; // Time vector<UShort_t> fDali_T_DetectorNbr; + vector<Double_t> fDali_TDC; vector<Double_t> fDali_Time; @@ -65,22 +67,48 @@ class TDaliData : public TObject { // add //! to avoid ROOT creating dictionnary for the methods public: ////////////////////// SETTERS //////////////////////// + // ADC + inline void SetADC(const UShort_t& DetNbr,const Double_t& Energy){ + fDali_E_DetectorNbr.push_back(DetNbr); + fDali_ADC.push_back(Energy); + };//! + inline void SetADC_Only(const Double_t& Energy){ + fDali_ADC.push_back(Energy); + };//! + + // Energy inline void SetEnergy(const UShort_t& DetNbr,const Double_t& Energy){ fDali_E_DetectorNbr.push_back(DetNbr); fDali_Energy.push_back(Energy); };//! + // TDC + inline void SetTDC(const UShort_t& DetNbr,const Double_t& Time) { + fDali_T_DetectorNbr.push_back(DetNbr); + fDali_TDC.push_back(Time); + };//! // Time inline void SetTime(const UShort_t& DetNbr,const Double_t& Time) { fDali_T_DetectorNbr.push_back(DetNbr); fDali_Time.push_back(Time); };//! + + // (A&T DC) + inline void SetADCAndTDC(const UShort_t& DetNbr,const Double_t& Energy,const Double_t& Time){ + fDali_ADC.push_back(Energy); + fDali_TDC.push_back(Time); + fDali_T_DetectorNbr.push_back(DetNbr); + fDali_E_DetectorNbr.push_back(DetNbr); + + };//! // (E&T) inline void SetEnergyAndTime(const UShort_t& DetNbr,const Double_t& Energy,const Double_t& Time){ fDali_Energy.push_back(Energy); fDali_Time.push_back(Time); fDali_T_DetectorNbr.push_back(DetNbr); + fDali_E_DetectorNbr.push_back(DetNbr); + };//! // @@ -90,14 +118,18 @@ class TDaliData : public TObject { {return fDali_E_DetectorNbr.size();} inline UShort_t GetE_DetectorNbr(const unsigned int &i) const {return fDali_E_DetectorNbr[i];}//! + inline Double_t Get_ADC(const unsigned int &i) const + {return fDali_ADC[i];}//! inline Double_t Get_Energy(const unsigned int &i) const {return fDali_Energy[i];}//! - + // Time inline UShort_t GetMultTime() const {return fDali_T_DetectorNbr.size();} inline UShort_t GetT_DetectorNbr(const unsigned int &i) const {return fDali_T_DetectorNbr[i];}//! + inline Double_t Get_TDC(const unsigned int &i) const + {return fDali_TDC[i];}//! inline Double_t Get_Time(const unsigned int &i) const {return fDali_Time[i];}//! diff --git a/NPLib/Detectors/Dali/TDaliData.h.~1~ b/NPLib/Detectors/Dali/TDaliData.h.~1~ deleted file mode 100644 index 60054de79f045d153428e74d4e55be16ffc00915..0000000000000000000000000000000000000000 --- a/NPLib/Detectors/Dali/TDaliData.h.~1~ +++ /dev/null @@ -1,104 +0,0 @@ -#ifndef __DaliDATA__ -#define __DaliDATA__ -/***************************************************************************** - * Copyright (C) 2009-2018 this file is part of the NPTool Project * - * * - * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * - * For the list of contributors see $NPTOOL/Licence/Contributors * - *****************************************************************************/ - -/***************************************************************************** - * Original Author: Elidiano Tronchin contact address: elidiano.tronchin@studenti.unipd.it * - * * - * Creation Date : septembre 2018 * - * Last update : * - *---------------------------------------------------------------------------* - * Decription: * - * This class hold Dali Raw data * - * * - *---------------------------------------------------------------------------* - * Comment: * - * * - * * - *****************************************************************************/ - -// STL -#include <vector> -using namespace std; - -// ROOT -#include "TObject.h" - -class TDaliData : public TObject { - ////////////////////////////////////////////////////////////// - // data members are hold into vectors in order - // to allow multiplicity treatment - private: - // Energy - vector<UShort_t> fDali_E_DetectorNbr; - vector<Double_t> fDali_Energy; - - // Time - vector<UShort_t> fDali_T_DetectorNbr; - vector<Double_t> fDali_Time; - - - ////////////////////////////////////////////////////////////// - // Constructor and destructor - public: - TDaliData(); - ~TDaliData(); - - - ////////////////////////////////////////////////////////////// - // Inherited from TObject and overriden to avoid warnings - public: - void Clear(); - void Clear(const Option_t*) {}; - void Dump() const; - - - ////////////////////////////////////////////////////////////// - // Getters and Setters - // Prefer inline declaration to avoid unnecessary called of - // frequently used methods - // add //! to avoid ROOT creating dictionnary for the methods - public: - ////////////////////// SETTERS //////////////////////// - // Energy - inline void SetEnergy(const UShort_t& DetNbr,const Double_t& Energy){ - fDali_E_DetectorNbr.push_back(DetNbr); - fDali_Energy.push_back(Energy); - };//! - - // Time - inline void SetTime(const UShort_t& DetNbr,const Double_t& Time) { - fDali_T_DetectorNbr.push_back(DetNbr); - fDali_Time.push_back(Time); - };//! - - - ////////////////////// GETTERS //////////////////////// - // Energy - inline UShort_t GetMultEnergy() const - {return fDali_E_DetectorNbr.size();} - inline UShort_t GetE_DetectorNbr(const unsigned int &i) const - {return fDali_E_DetectorNbr[i];}//! - inline Double_t Get_Energy(const unsigned int &i) const - {return fDali_Energy[i];}//! - - // Time - inline UShort_t GetMultTime() const - {return fDali_T_DetectorNbr.size();} - inline UShort_t GetT_DetectorNbr(const unsigned int &i) const - {return fDali_T_DetectorNbr[i];}//! - inline Double_t Get_Time(const unsigned int &i) const - {return fDali_Time[i];}//! - - - ////////////////////////////////////////////////////////////// - // Required for ROOT dictionnary - ClassDef(TDaliData,1) // DaliData structure -}; - -#endif diff --git a/NPLib/Detectors/Dali/TDaliData.h.~2~ b/NPLib/Detectors/Dali/TDaliData.h.~2~ deleted file mode 100644 index 60054de79f045d153428e74d4e55be16ffc00915..0000000000000000000000000000000000000000 --- a/NPLib/Detectors/Dali/TDaliData.h.~2~ +++ /dev/null @@ -1,104 +0,0 @@ -#ifndef __DaliDATA__ -#define __DaliDATA__ -/***************************************************************************** - * Copyright (C) 2009-2018 this file is part of the NPTool Project * - * * - * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * - * For the list of contributors see $NPTOOL/Licence/Contributors * - *****************************************************************************/ - -/***************************************************************************** - * Original Author: Elidiano Tronchin contact address: elidiano.tronchin@studenti.unipd.it * - * * - * Creation Date : septembre 2018 * - * Last update : * - *---------------------------------------------------------------------------* - * Decription: * - * This class hold Dali Raw data * - * * - *---------------------------------------------------------------------------* - * Comment: * - * * - * * - *****************************************************************************/ - -// STL -#include <vector> -using namespace std; - -// ROOT -#include "TObject.h" - -class TDaliData : public TObject { - ////////////////////////////////////////////////////////////// - // data members are hold into vectors in order - // to allow multiplicity treatment - private: - // Energy - vector<UShort_t> fDali_E_DetectorNbr; - vector<Double_t> fDali_Energy; - - // Time - vector<UShort_t> fDali_T_DetectorNbr; - vector<Double_t> fDali_Time; - - - ////////////////////////////////////////////////////////////// - // Constructor and destructor - public: - TDaliData(); - ~TDaliData(); - - - ////////////////////////////////////////////////////////////// - // Inherited from TObject and overriden to avoid warnings - public: - void Clear(); - void Clear(const Option_t*) {}; - void Dump() const; - - - ////////////////////////////////////////////////////////////// - // Getters and Setters - // Prefer inline declaration to avoid unnecessary called of - // frequently used methods - // add //! to avoid ROOT creating dictionnary for the methods - public: - ////////////////////// SETTERS //////////////////////// - // Energy - inline void SetEnergy(const UShort_t& DetNbr,const Double_t& Energy){ - fDali_E_DetectorNbr.push_back(DetNbr); - fDali_Energy.push_back(Energy); - };//! - - // Time - inline void SetTime(const UShort_t& DetNbr,const Double_t& Time) { - fDali_T_DetectorNbr.push_back(DetNbr); - fDali_Time.push_back(Time); - };//! - - - ////////////////////// GETTERS //////////////////////// - // Energy - inline UShort_t GetMultEnergy() const - {return fDali_E_DetectorNbr.size();} - inline UShort_t GetE_DetectorNbr(const unsigned int &i) const - {return fDali_E_DetectorNbr[i];}//! - inline Double_t Get_Energy(const unsigned int &i) const - {return fDali_Energy[i];}//! - - // Time - inline UShort_t GetMultTime() const - {return fDali_T_DetectorNbr.size();} - inline UShort_t GetT_DetectorNbr(const unsigned int &i) const - {return fDali_T_DetectorNbr[i];}//! - inline Double_t Get_Time(const unsigned int &i) const - {return fDali_Time[i];}//! - - - ////////////////////////////////////////////////////////////// - // Required for ROOT dictionnary - ClassDef(TDaliData,1) // DaliData structure -}; - -#endif diff --git a/NPLib/Detectors/Dali/TDaliPhysics.h b/NPLib/Detectors/Dali/TDaliPhysics.h index 07a5af40a6b8cac5270ec40a60912a3a834b7c6a..60d4a5cade4844fd193e7d1a579b3a909ffb6574 100644 --- a/NPLib/Detectors/Dali/TDaliPhysics.h +++ b/NPLib/Detectors/Dali/TDaliPhysics.h @@ -63,7 +63,9 @@ class TDaliPhysics : public TObject, public NPL::VDetector { // output ROOT file public: vector<int> DetectorNumber; + vector<double> ADC; vector<double> Energy; + vector<double> TDC; vector<double> Time; /// A usefull method to bundle all operation to add a detector diff --git a/NPLib/Detectors/MUST2/TMust2Physics.cxx b/NPLib/Detectors/MUST2/TMust2Physics.cxx index 7cd88900099bc1d9c75bc64d8646c2094d9f23ac..40e114fc83407229e6c4b92ca8318320f38f751d 100644 --- a/NPLib/Detectors/MUST2/TMust2Physics.cxx +++ b/NPLib/Detectors/MUST2/TMust2Physics.cxx @@ -455,9 +455,9 @@ int TMust2Physics::CheckEvent() { // INterstrip management is not coded, so waste of time to make this test /* else if( m_PreTreatedData->GetMMStripXEMult() == - m_PreTreatedData->GetMMStripYEMult()+1 + m_PreTreatedData->GetMMStripYEMult()+1 || m_PreTreatedData->GetMMStripXEMult() == - m_PreTreatedData->GetMMStripYEMult()-1 ) + m_PreTreatedData->GetMMStripYEMult()-1 ) return 2 ; // Pseudo Event, potentially interstrip*/ else diff --git a/NPLib/Detectors/MUST2/TMust2Physics.h b/NPLib/Detectors/MUST2/TMust2Physics.h index cd6ffe0e5c73afdf07e536f432ad850f84a48500..3705b691812997690d5f73052bca730514827ad5 100644 --- a/NPLib/Detectors/MUST2/TMust2Physics.h +++ b/NPLib/Detectors/MUST2/TMust2Physics.h @@ -81,6 +81,7 @@ class TMust2Physics : public TObject, public NPL::VDetector { vector<double> Si_TY; vector<int> TelescopeNumber_X; vector<int> TelescopeNumber_Y; + // Si(Li) vector<double> SiLi_E; vector<double> SiLi_T; @@ -287,8 +288,8 @@ class TMust2Physics : public TObject, public NPL::VDetector { vector<vector<vector<double>>> m_StripPositionZ; //! private: - map<int, int> m_HitStripX; - map<int, int> m_HitStripY; + map<int, int> m_HitStripX; //! + map<int, int> m_HitStripY; //! private: // Spectra Class TMust2Spectra* m_Spectra; //! diff --git a/NPLib/Detectors/Dali/.emacshist b/NPLib/Detectors/Minos/.emacshist similarity index 100% rename from NPLib/Detectors/Dali/.emacshist rename to NPLib/Detectors/Minos/.emacshist diff --git a/NPLib/Detectors/Minos/CMakeLists.txt b/NPLib/Detectors/Minos/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..c3874b7f6492226cf128d3b356d394125d923865 --- /dev/null +++ b/NPLib/Detectors/Minos/CMakeLists.txt @@ -0,0 +1,6 @@ +add_custom_command(OUTPUT TMinosPhysicsDict.cxx COMMAND ../../scripts/build_dict.sh TMinosPhysics.h TMinosPhysicsDict.cxx TMinosPhysics.rootmap libNPMinos.dylib DEPENDS TMinosPhysics.h) +add_custom_command(OUTPUT TMinosDataDict.cxx COMMAND ../../scripts/build_dict.sh TMinosData.h TMinosDataDict.cxx TMinosData.rootmap libNPMinos.dylib DEPENDS TMinosData.h) +add_library(NPMinos SHARED TMinosSpectra.cxx TMinosData.cxx TMinosPhysics.cxx TMinosDataDict.cxx TMinosPhysicsDict.cxx ) +target_link_libraries(NPMinos ${ROOT_LIBRARIES} NPCore) +install(FILES TMinosData.h TMinosPhysics.h TMinosSpectra.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY}) + diff --git a/NPLib/Detectors/Minos/TMinosData.cxx b/NPLib/Detectors/Minos/TMinosData.cxx new file mode 100644 index 0000000000000000000000000000000000000000..d59dc0eaf7e9463ad8dbbb0f7979033d55642229 --- /dev/null +++ b/NPLib/Detectors/Minos/TMinosData.cxx @@ -0,0 +1,181 @@ +/***************************************************************************** + * Copyright (C) 2009-2018 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: Elidiano Tronchin contact address: tronchin@lpccaen.in2p3.fr * + * * + * Creation Date : October 2018 * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: * + * This class hold Minos Raw data * + * * + *---------------------------------------------------------------------------* + * Comment: * + * * + * * + *****************************************************************************/ +#include "TMinosData.h" + +#include <iostream> +#include <fstream> +#include <sstream> +#include <string> +using namespace std; + +ClassImp(TMinosData) + + +////////////////////////////////////////////////////////////////////// +TMinosData::TMinosData() { +} + + + +////////////////////////////////////////////////////////////////////// +TMinosData::~TMinosData() { +} + + + +////////////////////////////////////////////////////////////////////// +void TMinosData::Clear() { + // Energy + fMinos_E_DetectorNbr.clear(); + fMinos_Energy.clear(); + // Time + fMinos_T_DetectorNbr.clear(); + fMinos_Time.clear(); + + +//From Santamaria: + +x_tpc.clear(); +y_tpc.clear(); +z_tpc.clear(); +e_tpc.clear(); + +x_InRoh.clear(); +y_InRoh.clear(); +z_InRoh.clear(); +e_InRoh.clear(); + +x_OutRoh.clear(); +y_OutRoh.clear(); +z_OutRoh.clear(); +e_OutRoh.clear(); + +x_Kap.clear(); +y_Kap.clear(); +z_Kap.clear(); +e_Kap.clear(); + +x_tar.clear(); +y_tar.clear(); +z_tar.clear(); +e_tar.clear(); + +x_win.clear(); +y_win.clear(); +z_win.clear(); +e_win.clear(); + +x_ch.clear(); +y_ch.clear(); +z_ch.clear(); +e_ch.clear(); + +x_trigger.clear(); +y_trigger.clear(); +z_trigger.clear(); +e_trigger.clear(); + +Et_tpc_tot=0.; + +Et_trigger.clear(); +Et_tar.clear(); +Et_ch.clear(); +Et_win.clear(); +Et_tpc.clear(); +Et_InnerRohacell.clear(); +Et_OuterRohacell.clear(); +Et_Kapton.clear(); + +/* //unuseful, cause nptool should make already that +//initial conditions +x0.clear(); +y0.clear(); +z0.clear(); +theta0.clear(); +phi0.clear(); +energy0.clear(); +detection.clear(); +event = 0; +*/ + +A.clear(); +Z.clear(); + +trackID.clear(); +parentID.clear(); + + //For take fitpar values +MINOSx_0.clear(); +MINOSy_0.clear(); +MINOSz_0.clear(); + MINOS_D_min.clear(); + MINOS_Radius.clear(); + MINOS_NumberTracks.clear(); + theta0.clear(); + phi0.clear(); +energy0.clear(); + + + + +} + + + +////////////////////////////////////////////////////////////////////// +void TMinosData::Dump() const { + // This method is very useful for debuging and worth the dev. + cout << "XXXXXXXXXXXXXXXXXXXXXXXX New Event [TMinosData::Dump()] XXXXXXXXXXXXXXXXX" << endl; + + // Energy + size_t mysize = fMinos_E_DetectorNbr.size(); + cout << "Minos_E_Mult: " << mysize << endl; + + for (size_t i = 0 ; i < mysize ; i++){ + cout << "DetNbr: " << fMinos_E_DetectorNbr[i] + << " Energy: " << fMinos_Energy[i]; + } + + // Time + mysize = fMinos_T_DetectorNbr.size(); + cout << "Minos_T_Mult: " << mysize << endl; + + for (size_t i = 0 ; i < mysize ; i++){ + cout << "DetNbr: " << fMinos_T_DetectorNbr[i] + << " Time: " << fMinos_Time[i]; + } + + + + + + + +////////////////////////ADD DUMP FOR SANTAMARIA VARIABLES !!!!!!!!!!!! +//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + + + + + + +} diff --git a/NPLib/Detectors/Dali/TDaliData.h.~3~ b/NPLib/Detectors/Minos/TMinosData.h similarity index 50% rename from NPLib/Detectors/Dali/TDaliData.h.~3~ rename to NPLib/Detectors/Minos/TMinosData.h index eb96babd2913e106593773d7dd6307ca9f3f218e..b6773407bb8ce00bd757b8d5d97c7c5fc83ec0b4 100644 --- a/NPLib/Detectors/Dali/TDaliData.h.~3~ +++ b/NPLib/Detectors/Minos/TMinosData.h @@ -1,5 +1,5 @@ -#ifndef __DaliDATA__ -#define __DaliDATA__ +#ifndef __MinosDATA__ +#define __MinosDATA__ /***************************************************************************** * Copyright (C) 2009-2018 this file is part of the NPTool Project * * * @@ -8,13 +8,13 @@ *****************************************************************************/ /***************************************************************************** - * Original Author: Elidiano Tronchin contact address: elidiano.tronchin@studenti.unipd.it * + * Original Author: Elidiano Tronchin contact address: tronchin@lpccaen.in2p3.fr * * * - * Creation Date : septembre 2018 * + * Creation Date : October 2018 * * Last update : * *---------------------------------------------------------------------------* * Decription: * - * This class hold Dali Raw data * + * This class hold Minos Raw data * * * *---------------------------------------------------------------------------* * Comment: * @@ -29,25 +29,52 @@ using namespace std; // ROOT #include "TObject.h" -class TDaliData : public TObject { +class TMinosData : public TObject { ////////////////////////////////////////////////////////////// // data members are hold into vectors in order // to allow multiplicity treatment private: // Energy - vector<UShort_t> fDali_E_DetectorNbr; - vector<Double_t> fDali_Energy; + vector<UShort_t> fMinos_E_DetectorNbr; + vector<Double_t> fMinos_Energy; // Time - vector<UShort_t> fDali_T_DetectorNbr; - vector<Double_t> fDali_Time; - + vector<UShort_t> fMinos_T_DetectorNbr; + vector<Double_t> fMinos_Time; + + // maybe directions with angle varagles have to be added? + +//From Santamaria: + + +//from simulation + vector<double> x_tpc,y_tpc,z_tpc,e_tpc; + vector<double> x_trigger,y_trigger,z_trigger,e_trigger; +vector<double> x_tar,y_tar,z_tar,e_tar; +vector<double> x_ch,y_ch,z_ch,e_ch; +vector<double> x_win,y_win,z_win,e_win; +vector<double> x_InRoh,y_InRoh,z_InRoh,e_InRoh; +vector<double> x_OutRoh,y_OutRoh,z_OutRoh,e_OutRoh; +vector<double> x_Kap,y_Kap,z_Kap,e_Kap; +double Et_tpc_tot; +vector<double> Et_tar,Et_ch,Et_tpc,Et_trigger,Et_win,Et_InnerRohacell, Et_OuterRohacell, Et_Kapton; +vector<int> A, Z; +vector<int> trackID, parentID; + + /* //unuseful, cause nptool should make already that +//initial conditions +//double x0,y0,z0,theta0,phi0,energy0; +vector<double> x0, y0, z0, theta0, phi0, energy0; +vector<bool> detection; +int event; +*/ + vector<Double_t> MINOSx_0, MINOSy_0, MINOSz_0, MINOS_D_min, MINOS_Radius, MINOS_NumberTracks, theta0, phi0, energy0; //For take fitpar values ////////////////////////////////////////////////////////////// // Constructor and destructor public: - TDaliData(); - ~TDaliData(); + TMinosData(); + ~TMinosData(); ////////////////////////////////////////////////////////////// @@ -67,43 +94,85 @@ class TDaliData : public TObject { ////////////////////// SETTERS //////////////////////// // Energy inline void SetEnergy(const UShort_t& DetNbr,const Double_t& Energy){ - fDali_E_DetectorNbr.push_back(DetNbr); - fDali_Energy.push_back(Energy); + fMinos_E_DetectorNbr.push_back(DetNbr); + fMinos_Energy.push_back(Energy); };//! // Time inline void SetTime(const UShort_t& DetNbr,const Double_t& Time) { - fDali_T_DetectorNbr.push_back(DetNbr); - fDali_Time.push_back(Time); + fMinos_T_DetectorNbr.push_back(DetNbr); + fMinos_Time.push_back(Time); };//! // (E&T) - inline void SetEnergyAndTime(const int& N, const double& E, const double& T) - { fPlastic_Energy.push_back(E); - fPlastic_Time.push_back(T) ; - fPlastic_Number.push_back(N); } + inline void SetEnergyAndTime(const UShort_t& DetNbr,const Double_t& Energy,const Double_t& Time){ + fMinos_Energy.push_back(Energy); + fMinos_Time.push_back(Time); + fMinos_T_DetectorNbr.push_back(DetNbr); + };//! // + + + //Setters for position vertex and obsv in experiment analysis + + // Position + inline void SetVertexPos(const Double_t& x,const Double_t& y,const Double_t& z) { + MINOSx_0.push_back(x); + MINOSy_0.push_back(y); + MINOSz_0.push_back(z); + };//! + +// Min Distance + inline void SetD_min(const Double_t& dmin) { + MINOS_D_min.push_back(dmin); + };//! + + + + + + + + + + + + ////////////////////// GETTERS //////////////////////// // Energy inline UShort_t GetMultEnergy() const - {return fDali_E_DetectorNbr.size();} + {return fMinos_E_DetectorNbr.size();} inline UShort_t GetE_DetectorNbr(const unsigned int &i) const - {return fDali_E_DetectorNbr[i];}//! + {return fMinos_E_DetectorNbr[i];}//! inline Double_t Get_Energy(const unsigned int &i) const - {return fDali_Energy[i];}//! + {return fMinos_Energy[i];}//! // Time inline UShort_t GetMultTime() const - {return fDali_T_DetectorNbr.size();} + {return fMinos_T_DetectorNbr.size();} inline UShort_t GetT_DetectorNbr(const unsigned int &i) const - {return fDali_T_DetectorNbr[i];}//! + {return fMinos_T_DetectorNbr[i];}//! inline Double_t Get_Time(const unsigned int &i) const - {return fDali_Time[i];}//! + {return fMinos_Time[i];}//! + + + // Position + inline Double_t GetVertexPos() const + {return MINOSz_0[0] ; }//! + inline Double_t GetVertexPosX() const + {return MINOSx_0[0] ; }//! + inline Double_t GetVertexPosY() const + {return MINOSy_0[0] ; }//! + inline Double_t GetVertexPosZ() const + {return MINOSz_0[0] ; }//! + // Min Distance + inline Double_t GetD_min() const + {return MINOS_D_min[0] ; }//! ////////////////////////////////////////////////////////////// // Required for ROOT dictionnary - ClassDef(TDaliData,1) // DaliData structure + ClassDef(TMinosData,1) // MinosData structure }; #endif diff --git a/NPLib/Detectors/Minos/TMinosPhysics.cxx b/NPLib/Detectors/Minos/TMinosPhysics.cxx new file mode 100644 index 0000000000000000000000000000000000000000..28928f545ca53a6095c8ef489c1c3ebaf7b0f484 --- /dev/null +++ b/NPLib/Detectors/Minos/TMinosPhysics.cxx @@ -0,0 +1,344 @@ +/***************************************************************************** + * Copyright (C) 2009-2018 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: Elidiano Tronchin contact address: tronchin@lpccaen.in2p3.fr * + * * + * Creation Date : October 2018 * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: * + * This class hold Minos Treated data * + * * + *---------------------------------------------------------------------------* + * Comment: * + * * + * * + *****************************************************************************/ + +#include "TMinosPhysics.h" + +// STL +#include <sstream> +#include <iostream> +#include <cmath> +#include <stdlib.h> +#include <limits> +using namespace std; + +// NPL +#include "RootInput.h" +#include "RootOutput.h" +#include "NPDetectorFactory.h" +#include "NPOptionManager.h" + +// ROOT +#include "TChain.h" + +ClassImp(TMinosPhysics) + + +/////////////////////////////////////////////////////////////////////////// +TMinosPhysics::TMinosPhysics() + : m_EventData(new TMinosData), + m_PreTreatedData(new TMinosData), + m_EventPhysics(this), + m_Spectra(0), + m_E_RAW_Threshold(0), // adc channels + m_E_Threshold(0), // MeV + m_NumberOfDetectors(0) { +} + +/////////////////////////////////////////////////////////////////////////// +/// A usefull method to bundle all operation to add a detector +void TMinosPhysics::AddDetector(TVector3 , string ){ + // In That simple case nothing is done + // Typically for more complex detector one would calculate the relevant + // positions (stripped silicon) or angles (gamma array) + m_NumberOfDetectors++; +} + +/////////////////////////////////////////////////////////////////////////// +void TMinosPhysics::AddDetector(double R, double Theta, double Phi, string shape){ + // Compute the TVector3 corresponding + TVector3 Pos(R*sin(Theta)*cos(Phi),R*sin(Theta)*sin(Phi),R*cos(Theta)); + // Call the cartesian method + AddDetector(Pos,shape); +} + +/////////////////////////////////////////////////////////////////////////// +void TMinosPhysics::BuildSimplePhysicalEvent() { + BuildPhysicalEvent(); +} + + + +/////////////////////////////////////////////////////////////////////////// +void TMinosPhysics::BuildPhysicalEvent() { + // apply thresholds and calibration + PreTreat(); + + // match energy and time together + unsigned int mysizeE = m_PreTreatedData->GetMultEnergy(); + unsigned int mysizeT = m_PreTreatedData->GetMultTime(); + for (UShort_t e = 0; e < mysizeE ; e++) { + for (UShort_t t = 0; t < mysizeT ; t++) { + if (m_PreTreatedData->GetE_DetectorNbr(e) == m_PreTreatedData->GetT_DetectorNbr(t)) { + DetectorNumber.push_back(m_PreTreatedData->GetE_DetectorNbr(e)); + Energy.push_back(m_PreTreatedData->Get_Energy(e)); + Time.push_back(m_PreTreatedData->Get_Time(t)); + } + } + } +} + +/////////////////////////////////////////////////////////////////////////// +void TMinosPhysics::PreTreat() { + // This method typically applies thresholds and calibrations + // Might test for disabled channels for more complex detector + + // clear pre-treated object + ClearPreTreatedData(); + + // instantiate CalibrationManager + static CalibrationManager* Cal = CalibrationManager::getInstance(); + + // Energy + unsigned int mysize = m_EventData->GetMultEnergy(); + for (UShort_t i = 0; i < mysize ; ++i) { + if (m_EventData->Get_Energy(i) > m_E_RAW_Threshold) { + Double_t Energy = Cal->ApplyCalibration("Minos/ENERGY"+NPL::itoa(m_EventData->GetE_DetectorNbr(i)),m_EventData->Get_Energy(i)); + if (Energy > m_E_Threshold) { + m_PreTreatedData->SetEnergy(m_EventData->GetE_DetectorNbr(i), Energy); + } + } + } + + // Time + mysize = m_EventData->GetMultTime(); + for (UShort_t i = 0; i < mysize; ++i) { + Double_t Time= Cal->ApplyCalibration("Minos/TIME"+NPL::itoa(m_EventData->GetT_DetectorNbr(i)),m_EventData->Get_Time(i)); + m_PreTreatedData->SetTime(m_EventData->GetT_DetectorNbr(i), Time); + } +} + + + +/////////////////////////////////////////////////////////////////////////// +void TMinosPhysics::ReadAnalysisConfig() { + bool ReadingStatus = false; + + // path to file + string FileName = "./configs/ConfigMinos.dat"; + + // open analysis config file + ifstream AnalysisConfigFile; + AnalysisConfigFile.open(FileName.c_str()); + + if (!AnalysisConfigFile.is_open()) { + cout << " No ConfigMinos.dat found: Default parameter loaded for Analayis " << FileName << endl; + return; + } + cout << " Loading user parameter for Analysis from ConfigMinos.dat " << endl; + + // Save it in a TAsciiFile + TAsciiFile* asciiConfig = RootOutput::getInstance()->GetAsciiFileAnalysisConfig(); + asciiConfig->AppendLine("%%% ConfigMinos.dat %%%"); + asciiConfig->Append(FileName.c_str()); + asciiConfig->AppendLine(""); + // read analysis config file + string LineBuffer,DataBuffer,whatToDo; + while (!AnalysisConfigFile.eof()) { + // Pick-up next line + getline(AnalysisConfigFile, LineBuffer); + + // search for "header" + string name = "ConfigMinos"; + if (LineBuffer.compare(0, name.length(), name) == 0) + ReadingStatus = true; + + // loop on tokens and data + while (ReadingStatus ) { + whatToDo=""; + AnalysisConfigFile >> whatToDo; + + // Search for comment symbol (%) + if (whatToDo.compare(0, 1, "%") == 0) { + AnalysisConfigFile.ignore(numeric_limits<streamsize>::max(), '\n' ); + } + + else if (whatToDo=="E_RAW_THRESHOLD") { + AnalysisConfigFile >> DataBuffer; + m_E_RAW_Threshold = atof(DataBuffer.c_str()); + cout << whatToDo << " " << m_E_RAW_Threshold << endl; + } + + else if (whatToDo=="E_THRESHOLD") { + AnalysisConfigFile >> DataBuffer; + m_E_Threshold = atof(DataBuffer.c_str()); + cout << whatToDo << " " << m_E_Threshold << endl; + } + + else { + ReadingStatus = false; + } + } + } +} + + + +/////////////////////////////////////////////////////////////////////////// +void TMinosPhysics::Clear() { + DetectorNumber.clear(); + Energy.clear(); + Time.clear(); +} + + + +/////////////////////////////////////////////////////////////////////////// +void TMinosPhysics::ReadConfiguration(NPL::InputParser parser) { + vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("Minos"); + if(NPOptionManager::getInstance()->GetVerboseLevel()) + cout << "//// " << blocks.size() << " detectors found " << endl; + + vector<string> cart = {"POS","Shape"}; + vector<string> sphe = {"R","Theta","Phi","Shape"}; + + for(unsigned int i = 0 ; i < blocks.size() ; i++){ + if(blocks[i]->HasTokenList(cart)){ + if(NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "//// Minos " << i+1 << endl; + + TVector3 Pos = blocks[i]->GetTVector3("POS","mm"); + string Shape = blocks[i]->GetString("Shape"); + AddDetector(Pos,Shape); + } + else if(blocks[i]->HasTokenList(sphe)){ + if(NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "//// Minos " << i+1 << endl; + double R = blocks[i]->GetDouble("R","mm"); + double Theta = blocks[i]->GetDouble("Theta","deg"); + double Phi = blocks[i]->GetDouble("Phi","deg"); + string Shape = blocks[i]->GetString("Shape"); + AddDetector(R,Theta,Phi,Shape); + } + else{ + cout << "ERROR: check your input file formatting " << endl; + exit(1); + } + } +} + +/////////////////////////////////////////////////////////////////////////// +void TMinosPhysics::InitSpectra() { + m_Spectra = new TMinosSpectra(m_NumberOfDetectors); +} + + + +/////////////////////////////////////////////////////////////////////////// +void TMinosPhysics::FillSpectra() { + m_Spectra -> FillRawSpectra(m_EventData); + m_Spectra -> FillPreTreatedSpectra(m_PreTreatedData); + m_Spectra -> FillPhysicsSpectra(m_EventPhysics); +} + + + +/////////////////////////////////////////////////////////////////////////// +void TMinosPhysics::CheckSpectra() { + m_Spectra->CheckSpectra(); +} + + + +/////////////////////////////////////////////////////////////////////////// +void TMinosPhysics::ClearSpectra() { + // To be done +} + + + +/////////////////////////////////////////////////////////////////////////// +map< string , TH1*> TMinosPhysics::GetSpectra() { + if(m_Spectra) + return m_Spectra->GetMapHisto(); + else{ + map< string , TH1*> empty; + return empty; + } +} + +/////////////////////////////////////////////////////////////////////////// +void TMinosPhysics::WriteSpectra() { + m_Spectra->WriteSpectra(); +} + + + +/////////////////////////////////////////////////////////////////////////// +void TMinosPhysics::AddParameterToCalibrationManager() { + CalibrationManager* Cal = CalibrationManager::getInstance(); + for (int i = 0; i < m_NumberOfDetectors; ++i) { + Cal->AddParameter("Minos", "D"+ NPL::itoa(i+1)+"_ENERGY","Minos_D"+ NPL::itoa(i+1)+"_ENERGY"); + Cal->AddParameter("Minos", "D"+ NPL::itoa(i+1)+"_TIME","Minos_D"+ NPL::itoa(i+1)+"_TIME"); + } +} + + + +/////////////////////////////////////////////////////////////////////////// +void TMinosPhysics::InitializeRootInputRaw() { + TChain* inputChain = RootInput::getInstance()->GetChain(); + inputChain->SetBranchStatus("Minos", true ); + inputChain->SetBranchAddress("Minos", &m_EventData ); +} + + + +/////////////////////////////////////////////////////////////////////////// +void TMinosPhysics::InitializeRootInputPhysics() { + TChain* inputChain = RootInput::getInstance()->GetChain(); + inputChain->SetBranchAddress("Minos", &m_EventPhysics); +} + + + +/////////////////////////////////////////////////////////////////////////// +void TMinosPhysics::InitializeRootOutput() { + TTree* outputTree = RootOutput::getInstance()->GetTree(); + outputTree->Branch("Minos", "TMinosPhysics", &m_EventPhysics); +} + + + +//////////////////////////////////////////////////////////////////////////////// +// Construct Method to be pass to the DetectorFactory // +//////////////////////////////////////////////////////////////////////////////// +NPL::VDetector* TMinosPhysics::Construct() { + return (NPL::VDetector*) new TMinosPhysics(); +} + + + +//////////////////////////////////////////////////////////////////////////////// +// Registering the construct method to the factory // +//////////////////////////////////////////////////////////////////////////////// +extern "C"{ +class proxy_Minos{ + public: + proxy_Minos(){ + NPL::DetectorFactory::getInstance()->AddToken("Minos","Minos"); + NPL::DetectorFactory::getInstance()->AddDetector("Minos",TMinosPhysics::Construct); + } +}; + +proxy_Minos p_Minos; +} + diff --git a/NPLib/Detectors/Minos/TMinosPhysics.h b/NPLib/Detectors/Minos/TMinosPhysics.h new file mode 100644 index 0000000000000000000000000000000000000000..f35fa27773c37e45a63cccd26720c6f023e7a1e1 --- /dev/null +++ b/NPLib/Detectors/Minos/TMinosPhysics.h @@ -0,0 +1,180 @@ +#ifndef TMinosPHYSICS_H +#define TMinosPHYSICS_H +/***************************************************************************** + * Copyright (C) 2009-2018 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: Elidiano Tronchin contact address: tronchin@lpccaen.in2p3.fr * + * * + * Creation Date : October 2018 * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: * + * This class hold Minos Treated data * + * * + *---------------------------------------------------------------------------* + * Comment: * + * * + * * + *****************************************************************************/ + +// C++ headers +#include <vector> +#include <map> +#include <string> +using namespace std; + +// ROOT headers +#include "TObject.h" +#include "TH1.h" +#include "TVector3.h" +// NPTool headers +#include "TMinosData.h" +#include "TMinosSpectra.h" +#include "NPCalibrationManager.h" +#include "NPVDetector.h" +#include "NPInputParser.h" +// forward declaration +class TMinosSpectra; + + + +class TMinosPhysics : public TObject, public NPL::VDetector { + ////////////////////////////////////////////////////////////// + // constructor and destructor + public: + TMinosPhysics(); + ~TMinosPhysics() {}; + + + ////////////////////////////////////////////////////////////// + // Inherited from TObject and overriden to avoid warnings + public: + void Clear(); + void Clear(const Option_t*) {}; + + + ////////////////////////////////////////////////////////////// + // data obtained after BuildPhysicalEvent() and stored in + // output ROOT file + public: + vector<int> DetectorNumber; + vector<double> Energy; + vector<double> Time; + + /// A usefull method to bundle all operation to add a detector + void AddDetector(TVector3 POS, string shape); + void AddDetector(double R, double Theta, double Phi, string shape); + + ////////////////////////////////////////////////////////////// + // methods inherited from the VDetector ABC class + public: + // read stream from ConfigFile to pick-up detector parameters + void ReadConfiguration(NPL::InputParser); + + // add parameters to the CalibrationManger + void AddParameterToCalibrationManager(); + + // method called event by event, aiming at extracting the + // physical information from detector + void BuildPhysicalEvent(); + + // same as BuildPhysicalEvent() method but with a simpler + // treatment + void BuildSimplePhysicalEvent(); + + // same as above but for online analysis + void BuildOnlinePhysicalEvent() {BuildPhysicalEvent();}; + + // activate raw data object and branches from input TChain + // in this method mother branches (Detector) AND daughter leaves + // (fDetector_parameter) have to be activated + void InitializeRootInputRaw(); + + // activate physics data object and branches from input TChain + // in this method mother branches (Detector) AND daughter leaves + // (fDetector_parameter) have to be activated + void InitializeRootInputPhysics(); + + // create branches of output ROOT file + void InitializeRootOutput(); + + // clear the raw and physical data objects event by event + void ClearEventPhysics() {Clear();} + void ClearEventData() {m_EventData->Clear();} + + // methods related to the TMinosSpectra class + // instantiate the TMinosSpectra class and + // declare list of histograms + void InitSpectra(); + + // fill the spectra + void FillSpectra(); + + // used for Online mainly, sanity check for histograms and + // change their color if issues are found, for example + void CheckSpectra(); + + // used for Online only, clear all the spectra + void ClearSpectra(); + + // write spectra to ROOT output file + void WriteSpectra(); + + + ////////////////////////////////////////////////////////////// + // specific methods to Minos array + public: + // remove bad channels, calibrate the data and apply thresholds + void PreTreat(); + + // clear the pre-treated object + void ClearPreTreatedData() {m_PreTreatedData->Clear();} + + // read the user configuration file. If no file is found, load standard one + void ReadAnalysisConfig(); + + // give and external TMinosData object to TMinosPhysics. + // needed for online analysis for example + void SetRawDataPointer(TMinosData* rawDataPointer) {m_EventData = rawDataPointer;} + + // objects are not written in the TTree + private: + TMinosData* m_EventData; //! + TMinosData* m_PreTreatedData; //! + TMinosPhysics* m_EventPhysics; //! + + // getters for raw and pre-treated data object + public: + TMinosData* GetRawData() const {return m_EventData;} + TMinosData* GetPreTreatedData() const {return m_PreTreatedData;} + + // parameters used in the analysis + private: + // thresholds + double m_E_RAW_Threshold; //! + double m_E_Threshold; //! + + // number of detectors + private: + int m_NumberOfDetectors; //! + + // spectra class + private: + TMinosSpectra* m_Spectra; // ! + + // spectra getter + public: + map<string, TH1*> GetSpectra(); + + // Static constructor to be passed to the Detector Factory + public: + static NPL::VDetector* Construct(); + + ClassDef(TMinosPhysics,1) // MinosPhysics structure +}; +#endif diff --git a/NPLib/Detectors/Minos/TMinosSpectra.cxx b/NPLib/Detectors/Minos/TMinosSpectra.cxx new file mode 100644 index 0000000000000000000000000000000000000000..9b4ee0243de66834df8ed80a93ed543574478318 --- /dev/null +++ b/NPLib/Detectors/Minos/TMinosSpectra.cxx @@ -0,0 +1,174 @@ +/***************************************************************************** + * Copyright (C) 2009-2018 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: Elidiano Tronchin contact address: tronchin@lpccaen.in2p3.fr * + * * + * Creation Date : October 2018 * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: * + * This class hold Minos Spectra * + * * + *---------------------------------------------------------------------------* + * Comment: * + * * + * * + *****************************************************************************/ + +// class header +#include "TMinosSpectra.h" + +// STL +#include <iostream> +#include <string> +using namespace std; + +// NPTool header +#include "NPOptionManager.h" + + + +//////////////////////////////////////////////////////////////////////////////// +TMinosSpectra::TMinosSpectra() + : fNumberOfDetectors(0) { + SetName("Minos"); +} + + + +//////////////////////////////////////////////////////////////////////////////// +TMinosSpectra::TMinosSpectra(unsigned int NumberOfDetectors) { + if(NPOptionManager::getInstance()->GetVerboseLevel()>0) + cout << "************************************************" << endl + << "TMinosSpectra : Initalizing control spectra for " + << NumberOfDetectors << " Detectors" << endl + << "************************************************" << endl ; + SetName("Minos"); + fNumberOfDetectors = NumberOfDetectors; + + InitRawSpectra(); + InitPreTreatedSpectra(); + InitPhysicsSpectra(); +} + + + +//////////////////////////////////////////////////////////////////////////////// +TMinosSpectra::~TMinosSpectra() { +} + + + +//////////////////////////////////////////////////////////////////////////////// +void TMinosSpectra::InitRawSpectra() { + static string name; + for (unsigned int i = 0; i < fNumberOfDetectors; i++) { // loop on number of detectors + // Energy + name = "Minos"+NPL::itoa(i+1)+"_ENERGY_RAW"; + AddHisto1D(name, name, 4096, 0, 16384, "Minos/RAW"); + // Time + name = "Minos"+NPL::itoa(i+1)+"_TIME_RAW"; + AddHisto1D(name, name, 4096, 0, 16384, "Minos/RAW"); + } // end loop on number of detectors +} + + + +//////////////////////////////////////////////////////////////////////////////// +void TMinosSpectra::InitPreTreatedSpectra() { + static string name; + for (unsigned int i = 0; i < fNumberOfDetectors; i++) { // loop on number of detectors + // Energy + name = "Minos"+NPL::itoa(i+1)+"_ENERGY_CAL"; + AddHisto1D(name, name, 500, 0, 25, "Minos/CAL"); + // Time + name = "Minos"+NPL::itoa(i+1)+"_TIME_CAL"; + AddHisto1D(name, name, 500, 0, 25, "Minos/CAL"); + + + } // end loop on number of detectors +} + + + +//////////////////////////////////////////////////////////////////////////////// +void TMinosSpectra::InitPhysicsSpectra() { + static string name; + // Kinematic Plot + name = "Minos_ENERGY_TIME"; + AddHisto2D(name, name, 500, 0, 500, 500, 0, 50, "Minos/PHY"); +} + + + +//////////////////////////////////////////////////////////////////////////////// +void TMinosSpectra::FillRawSpectra(TMinosData* RawData) { + static string name; + static string family; + + // Energy + unsigned int sizeE = RawData->GetMultEnergy(); + for (unsigned int i = 0; i < sizeE; i++) { + name = "Minos"+NPL::itoa(RawData->GetE_DetectorNbr(i))+"_ENERGY_RAW"; + family = "Minos/RAW"; + + FillSpectra(family,name,RawData->Get_Energy(i)); + } + + // Time + unsigned int sizeT = RawData->GetMultTime(); + for (unsigned int i = 0; i < sizeT; i++) { + name = "Minos"+NPL::itoa(RawData->GetT_DetectorNbr(i))+"_TIME_RAW"; + family = "Minos/RAW"; + + FillSpectra(family,name,RawData->Get_Time(i)); + } +} + + + +//////////////////////////////////////////////////////////////////////////////// +void TMinosSpectra::FillPreTreatedSpectra(TMinosData* PreTreatedData) { + static string name; + static string family; + + // Energy + unsigned int sizeE = PreTreatedData->GetMultEnergy(); + for (unsigned int i = 0; i < sizeE; i++) { + name = "Minos"+NPL::itoa(PreTreatedData->GetE_DetectorNbr(i))+"_ENERGY_CAL"; + family = "Minos/CAL"; + + FillSpectra(family,name,PreTreatedData->Get_Energy(i)); + } + + // Time + unsigned int sizeT = PreTreatedData->GetMultTime(); + for (unsigned int i = 0; i < sizeT; i++) { + name = "Minos"+NPL::itoa(PreTreatedData->GetT_DetectorNbr(i))+"_TIME_CAL"; + family = "Minos/CAL"; + + FillSpectra(family,name,PreTreatedData->Get_Time(i)); + } +} + + + +//////////////////////////////////////////////////////////////////////////////// +void TMinosSpectra::FillPhysicsSpectra(TMinosPhysics* Physics) { + static string name; + static string family; + family= "Minos/PHY"; + + // Energy vs time + unsigned int sizeE = Physics->Energy.size(); + for(unsigned int i = 0 ; i < sizeE ; i++){ + name = "Minos_ENERGY_TIME"; + FillSpectra(family,name,Physics->Energy[i],Physics->Time[i]); + } +} + diff --git a/NPLib/Detectors/Minos/TMinosSpectra.h b/NPLib/Detectors/Minos/TMinosSpectra.h new file mode 100644 index 0000000000000000000000000000000000000000..de7fd9b15704c2315d2643f3067b8dd7735771df --- /dev/null +++ b/NPLib/Detectors/Minos/TMinosSpectra.h @@ -0,0 +1,62 @@ +#ifndef TMinosSPECTRA_H +#define TMinosSPECTRA_H +/***************************************************************************** + * Copyright (C) 2009-2018 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: Elidiano Tronchin contact address: tronchin@lpccaen.in2p3.fr * + * * + * Creation Date : October 2018 * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: * + * This class hold Minos Spectra * + * * + *---------------------------------------------------------------------------* + * Comment: * + * * + * * + *****************************************************************************/ + +// NPLib headers +#include "NPVSpectra.h" +#include "TMinosData.h" +#include "TMinosPhysics.h" + +// Forward Declaration +class TMinosPhysics; + + +class TMinosSpectra : public VSpectra { + ////////////////////////////////////////////////////////////// + // constructor and destructor + public: + TMinosSpectra(); + TMinosSpectra(unsigned int NumberOfDetectors); + ~TMinosSpectra(); + + ////////////////////////////////////////////////////////////// + // Initialization methods + private: + void InitRawSpectra(); + void InitPreTreatedSpectra(); + void InitPhysicsSpectra(); + + ////////////////////////////////////////////////////////////// + // Filling methods + public: + void FillRawSpectra(TMinosData*); + void FillPreTreatedSpectra(TMinosData*); + void FillPhysicsSpectra(TMinosPhysics*); + + ////////////////////////////////////////////////////////////// + // Detector parameters + private: + unsigned int fNumberOfDetectors; +}; + +#endif diff --git a/NPLib/Detectors/ModularLeaf/TModularLeafPhysics.cxx b/NPLib/Detectors/ModularLeaf/TModularLeafPhysics.cxx index 67d19448a310d0ba09523250b60186b009683c4d..860e40c68d5999f470a670c26f68372f667d124b 100644 --- a/NPLib/Detectors/ModularLeaf/TModularLeafPhysics.cxx +++ b/NPLib/Detectors/ModularLeaf/TModularLeafPhysics.cxx @@ -45,31 +45,30 @@ string itoa(int value){ return buffer; } -ClassImp(TModularLeafPhysics) +ClassImp(TModularLeafPhysics); /////////////////////////////////////////////////////////////////////////// -TModularLeafPhysics::TModularLeafPhysics(){ - NumberOfDetector = 0 ; - //EventData = new TModularLeafData ; - EventPhysics = this ; -} + TModularLeafPhysics::TModularLeafPhysics(){ + m_NumberOfDetector = 0 ; + m_EventPhysics = this ; + } /////////////////////////////////////////////////////////////////////////// TModularLeafPhysics::~TModularLeafPhysics(){ - } +} /////////////////////////////////////////////////////////////////////////// void TModularLeafPhysics::Clear() { - std::map<std::string,double>::iterator it ; - for( it=m_CalibratedData.begin();it!=m_CalibratedData.end();it++){ - it->second=m_DefaultValue; - } + std::map<std::string,double>::iterator it ; + for( it=m_CalibratedData.begin();it!=m_CalibratedData.end();it++){ + it->second=m_DefaultValue; + } } -/////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// void TModularLeafPhysics::ClearEventData() { - std::map<std::string,short>::iterator it ; - for( it=m_RawData.begin();it!=m_RawData.end();it++){ - it->second=m_DefaultValue; - } + std::map<std::string,short>::iterator it ; + for( it=m_RawData.begin();it!=m_RawData.end();it++){ + it->second=m_DefaultValue; + } } @@ -79,19 +78,22 @@ void TModularLeafPhysics::ReadConfiguration(NPL::InputParser parser) { if(NPOptionManager::getInstance()->GetVerboseLevel()) cout << "//// " << blocks.size() << " modular leafs blocks found " << endl; - vector<string> token = {"Leafs","DefaultValue"}; + vector<std::string> token = {"Leafs","DefaultValue", "X", "Y"}; for(unsigned int i = 0 ; i < blocks.size() ; i++){ if(blocks[i]->HasTokenList(token)){ if(NPOptionManager::getInstance()->GetVerboseLevel()) cout << endl << "//// ModularLeaf " << i+1 << endl; - - m_DefaultValue = blocks[i]->GetDouble("DefaultValue","void"); - std::vector<std::string> leafs = blocks[i]->GetVectorString("Leafs"); - unsigned int size = leafs.size(); + + m_DefaultValue = blocks[i]->GetDouble("DefaultValue", "void"); + m_leafs = blocks[i]->GetVectorString("Leafs"); + m_leafs_X = blocks[i]->GetVectorString("X"); + m_leafs_Y = blocks[i]->GetVectorString("Y"); + unsigned int size = m_leafs.size(); + for(unsigned int l = 0 ; l < size ; l++){ - m_CalibratedData[leafs[l]] = m_DefaultValue; - m_RawData[leafs[l]] = m_DefaultValue; + m_CalibratedData[m_leafs[l]] = m_DefaultValue; + m_RawData[m_leafs[l]] = m_DefaultValue; } } @@ -105,9 +107,12 @@ void TModularLeafPhysics::ReadConfiguration(NPL::InputParser parser) { /////////////////////////////////////////////////////////////////////////// void TModularLeafPhysics::AddParameterToCalibrationManager(){ CalibrationManager* Cal = CalibrationManager::getInstance(); - std::map<std::string,double>::iterator it; - for(it = m_CalibratedData.begin() ; it!=m_CalibratedData.end() ; it++) - Cal->AddParameter("ModularLeaf", it->first,it->first) ; + // std::map<std::string,double>::iterator it; + // for(it = m_CalibratedData.begin() ; it!it->first=m_CalibratedData.end() ; it++) + unsigned int leafs_size = m_leafs.size(); + for(unsigned int i = 0; i < leafs_size; i++){ + Cal->AddParameter(m_leafs[i], "", m_leafs[i]); + } } /////////////////////////////////////////////////////////////////////////// @@ -115,8 +120,9 @@ void TModularLeafPhysics::InitializeRootInputRaw() { TChain* inputChain = RootInput::getInstance()->GetChain(); std::map<std::string,short>::iterator it; for(it = m_RawData.begin() ; it!=m_RawData.end() ; it++){ - inputChain->SetBranchStatus ( (it->first).c_str(), true ); - inputChain->SetBranchAddress( (it->first).c_str(), &(it->second) ) ; + inputChain->SetBranchStatus ( (it->first).c_str(), true ); + inputChain->SetBranchAddress( (it->first).c_str(), &(it->second) ) ; + // cout << it->second << endl; } } /////////////////////////////////////////////////////////////////////////// @@ -124,8 +130,8 @@ void TModularLeafPhysics::InitializeRootInputPhysics(){ TChain* inputChain = RootInput::getInstance()->GetChain(); std::map<std::string,double>::iterator it; for(it = m_CalibratedData.begin() ; it!=m_CalibratedData.end() ; it++){ - inputChain->SetBranchStatus ( (it->first).c_str(), true ); - inputChain->SetBranchAddress( (it->first).c_str(), &(it->second) ) ; + inputChain->SetBranchStatus ( (it->first).c_str(), true ); + inputChain->SetBranchAddress( (it->first).c_str(), &(it->second) ) ; } } @@ -134,27 +140,72 @@ void TModularLeafPhysics::InitializeRootOutput(){ TTree* outputTree = RootOutput::getInstance()->GetTree(); std::map<std::string,double>::iterator it; for(it = m_CalibratedData.begin() ; it!=m_CalibratedData.end() ; it++){ - outputTree->Branch( (it->first).c_str(), &(m_CalibratedData[it->first])) ; - } + outputTree->Branch( (it->first).c_str(), &(m_CalibratedData[it->first])) ; + } } /////////////////////////////////////////////////////////////////////////// void TModularLeafPhysics::BuildPhysicalEvent(){ +cout << 1 << endl; static CalibrationManager* Cal = CalibrationManager::getInstance(); + static string name; std::map<std::string,short>::iterator it; +cout << 2 << endl; for(it = m_RawData.begin() ; it != m_RawData.end() ; it++){ - if(it->second!=m_DefaultValue){ - static string param; - param="ModularLeaf/"+it->first; - m_CalibratedData[it->first] = Cal->ApplyCalibration(param,it->second); - } + // cout << it->first << " " << it->second << endl; + name = it->first + "/" +it->first; + cout << name << endl; + if(it->second != m_DefaultValue){ + m_CalibratedData[it->first] = Cal->ApplyCalibration(name, it->second); } + } +cout << 3 << endl; } /////////////////////////////////////////////////////////////////////////// void TModularLeafPhysics::BuildSimplePhysicalEvent(){ + TModularLeafPhysics::BuildPhysicalEvent(); +} +///////////////////////////////////////////////////////////////////////// +// Spectra function needed by the spectra server +////////////////////////////////////////////////////////////////////////// +void TModularLeafPhysics::InitSpectra(){ + m_Spectra = new TModularLeafSpectra(m_leafs, m_leafs_X, m_leafs_Y); +} + +/////////////////////////////////////////////////////////////////////////// +void TModularLeafPhysics::FillSpectra(){ + // cout << "TModularLeafPhysics::FillSpectra" << endl; + m_Spectra->FillRawSpectra(m_RawData); + m_Spectra->FillPreTreatedSpectra(m_CalibratedData); + m_Spectra->FillPhysicsSpectra(m_leafs_X, m_leafs_Y, m_CalibratedData); +} +/////////////////////////////////////////////////////////////////////////// +void TModularLeafPhysics::CheckSpectra(){ + m_Spectra->CheckSpectra(); +} +/////////////////////////////////////////////////////////////////////////// +void TModularLeafPhysics::ClearSpectra(){ + // To be done +} + +/////////////////////////////////////////////////////////////////////////// +void TModularLeafPhysics::WriteSpectra() { + if(m_Spectra){ + m_Spectra->WriteSpectra(); + } +} + +/////////////////////////////////////////////////////////////////////////// +map< string , TH1*> TModularLeafPhysics::GetSpectra() { + if(m_Spectra) + return m_Spectra->GetMapHisto(); + else{ + map< string , TH1*> empty; + return empty; + } } //////////////////////////////////////////////////////////////////////////////// @@ -168,14 +219,15 @@ NPL::VDetector* TModularLeafPhysics::Construct(){ // Registering the construct method to the factory // //////////////////////////////////////////////////////////////////////////////// extern "C"{ -class proxy_modularleaf{ - public: - proxy_modularleaf(){ - NPL::DetectorFactory::getInstance()->AddToken("ModularLeaf","ModularLeaf"); - NPL::DetectorFactory::getInstance()->AddDetector("ModularLeaf",TModularLeafPhysics::Construct); - } -}; + class proxy_modularleaf{ + public: + proxy_modularleaf(){ + NPL::DetectorFactory::getInstance()->AddToken("ModularLeaf","ModularLeaf"); + NPL::DetectorFactory::getInstance()->AddDetector("ModularLeaf",TModularLeafPhysics::Construct); + } + }; + + proxy_modularleaf p_modularleaf; -proxy_modularleaf p_modularleaf; } diff --git a/NPLib/Detectors/ModularLeaf/TModularLeafPhysics.h b/NPLib/Detectors/ModularLeaf/TModularLeafPhysics.h index 83cf334201e0771947b678ae72a5ccdb9130c358..25f6f431a1e958164504e69250fb12412466beff 100644 --- a/NPLib/Detectors/ModularLeaf/TModularLeafPhysics.h +++ b/NPLib/Detectors/ModularLeaf/TModularLeafPhysics.h @@ -24,16 +24,23 @@ // STL #include <vector> -using namespace std ; // ROOT #include "TObject.h" +#include "TVector2.h" +#include "TVector3.h" // NPL +#include "TModularLeafSpectra.h" #include "NPVDetector.h" #include "NPCalibrationManager.h" #include "NPInputParser.h" +using namespace std ; + +// Forward Declaration +class TModularLeafSpectra; + class TModularLeafPhysics : public TObject, public NPL::VDetector{ public: // Constructor and Destructor TModularLeafPhysics(); @@ -45,14 +52,13 @@ class TModularLeafPhysics : public TObject, public NPL::VDetector{ private: // Raw and Calibrated Data double m_DefaultValue; // ! - std::map<std::string,double> m_CalibratedData; - std::map<std::string,short> m_RawData; - + std::map<std::string, double> m_CalibratedData; + std::map<std::string, short> m_RawData; + public: // inherrited from VDetector // Read stream at ConfigFile to pick-up parameters of detector (Position,...) using Token void ReadConfiguration(NPL::InputParser); - // Add Parameter to the CalibrationManger void AddParameterToCalibrationManager(); @@ -79,21 +85,34 @@ class TModularLeafPhysics : public TObject, public NPL::VDetector{ void BuildOnlinePhysicalEvent() {BuildPhysicalEvent();}; // Give and external TModularLeafData object to TModularLeafPhysics. Needed for online analysis for example. - void SetRawDataPointer(void* rawDataPointer) {} + // Retrieve raw and pre-treated data // Those two method all to clear the Event Physics or Data void ClearEventPhysics() {Clear();} - void ClearEventData() ; + void ClearEventData(); - private: // Data not writted in the tree - int NumberOfDetector ;//! - //TModularLeafData* EventData ;//! - TModularLeafPhysics* EventPhysics ;//! + // Needed for Online spectra + void InitSpectra(); + void FillSpectra(); + void CheckSpectra(); + void ClearSpectra(); + void WriteSpectra() ; + map< string , TH1*> GetSpectra() ; + private: // Spectra Class + TModularLeafSpectra* m_Spectra;//! + + private: // Data not writted in the tree + int m_NumberOfDetector ;//! + TModularLeafPhysics* m_EventPhysics ;//! + std::vector<std::string> m_leafs;//! + std::vector<std::string> m_leafs_X;//! + std::vector<std::string> m_leafs_Y;//! public: - inline short GetRawValue(std::string label){return m_RawData[label];}; - inline double GetCalibratedValue(std::string label){return m_CalibratedData[label];}; + inline double GetCalibratedValue(const std::string& label){return m_CalibratedData[label];}; + inline void SetModularData(const string& lbl, const Short_t& val){m_RawData[lbl] = val;}; + public: // Static constructor to be passed to the Detector Factory static NPL::VDetector* Construct(); ClassDef(TModularLeafPhysics,1) // ModularLeafPhysics structure diff --git a/NPLib/Detectors/ModularLeaf/TModularLeafSpectra.cxx b/NPLib/Detectors/ModularLeaf/TModularLeafSpectra.cxx new file mode 100644 index 0000000000000000000000000000000000000000..81b5b97b70f4e7124d08a0c5277bb8534b49aec1 --- /dev/null +++ b/NPLib/Detectors/ModularLeaf/TModularLeafSpectra.cxx @@ -0,0 +1,191 @@ +/***************************************************************************** + * Copyright (C) 2009-XYEARX this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: Valerian alcindor contact address: girardalcindor@ganil.fr + * alcindor@ipno.in2p3.fr * + * * + * Creation Date : May 2018 * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: * + * This class hold ModularLeaf Spectra * + * * + *---------------------------------------------------------------------------* + * Comment: * + * * + * * + *****************************************************************************/ + +// class header +#include "TModularLeafSpectra.h" + +// STL +#include <iostream> +#include <string> +using namespace std; + +// NPTool header +#include "NPOptionManager.h" +// #include "NPVSpectra.h" + +//////////////////////////////////////////////////////////////////////////////// +TModularLeafSpectra::TModularLeafSpectra() +{ + SetName("ModularLeaf"); +} + +//////////////////////////////////////////////////////////////////////////////// +TModularLeafSpectra::TModularLeafSpectra(std::vector<std::string> leafs, std::vector<string> leafs_X, std::vector <string> leafs_Y) { + if(NPOptionManager::getInstance()->GetVerboseLevel()>0) + cout << "************************************************" << endl + << "TModularLeafSpectra : Initalizing control spectra for " + << leafs.size() << " Leafs" << endl + << "************************************************" << endl ; + SetName("ModularLeaf"); + fleafs = leafs; + InitRawSpectra(); + InitPreTreatedSpectra(); + InitPhysicsSpectra(leafs_X, leafs_Y); +} + +//////////////////////////////////////////////////////////////////////////////// +TModularLeafSpectra::~TModularLeafSpectra() { + delete f_ModularHisto; +} + +//////////////////////////////////////////////////////////////////////////////// +void TModularLeafSpectra::InitRawSpectra() { + static string name; + unsigned int leafs_size = fleafs.size(); + for (unsigned int i = 0; i < leafs_size; i++) { // loop on number of detectors + name = "NP_" + fleafs[i]; + if (fleafs[i] == "GATCONFMASTER" || fleafs[i] == "GATCONFSLAVE"){ + AddHisto1D(name, name, 8400, 0, 8400, "ModularLeaf/RAW"); + } + else{ + AddHisto1D("NP_" + fleafs[i], "NP_" + fleafs[i], 512, 0, 16384, "ModularLeaf/RAW"); + } + // cout << fleafs[i] << endl; + } // end loop on number of detectors +} + +//////////////////////////////////////////////////////////////////////////////// +void TModularLeafSpectra::InitPreTreatedSpectra() { + static string name; + unsigned int leafs_size = fleafs.size(); + for (unsigned int i = 0; i < leafs_size; i++) { // loop on number of detectors + name = "NP_" + fleafs[i]+ "_CAL"; + char T = 'T'; char E = 'E'; char X = 'X'; + if (fleafs[i].at(0) == T){ + AddHisto1D(name, name, 10000, 0, 1000, "ModularLeaf/CAL"); + } + else{ + AddHisto1D(name, name, 1000, 0, 16000, "ModularLeaf/CAL"); + } + } // end loop on number of detectors +} + +//////////////////////////////////////////////////////////////////////////////// +void TModularLeafSpectra::InitPhysicsSpectra(std::vector <string>& leafs_X, std::vector <string>& leafs_Y) { + static string name; + + int leafs_size; + if(leafs_X.size() == leafs_Y.size()){ + leafs_size = leafs_X.size(); + } + else{ + cout << "ERROR X SIZE DIFFERENT OF Y SIZE" << endl; + return exit(1); + } + for(int i = 0; i < leafs_size ; i++){ + name = leafs_Y[i] + ":" + leafs_X[i]; + if(leafs_X[i] == "T_PPT_CATS" && leafs_Y[i] == "PPT_Q"){ + AddHisto2D(name, name, 1000, 0, 10, 10000, 0, 1000, "ModularLeaf/PHY"); + } + else{ + AddHisto2D(name, name, 512, 0, 16384, 512, 0, 16384, "ModularLeaf/PHY"); + } + } +} + +//////////////////////////////////////////////////////////////////////////////// +void TModularLeafSpectra::FillRawSpectra(std::map<std::string, short>& RawData) { + static string name; + static string family; + short value; + std::map<std::string, short>::iterator it; + for (it = RawData.begin(); it != RawData.end(); it++){ + name = "NP_" + it->first; + value = it->second; + family = "ModularLeaf/RAW"; + FillSpectra(family, name, value); + } +} + +//////////////////////////////////////////////////////////////////////////////// +void TModularLeafSpectra::FillPreTreatedSpectra(std::map<std::string, double>& CalibratedData) { + static string name; + static string family; + double value; + + std::map<std::string, double>::iterator it; + for (it = CalibratedData.begin(); it != CalibratedData.end(); it++){ + name = "NP_" + it->first + "_CAL"; + value = it->second; + family = "ModularLeaf/CAL"; + FillSpectra(family, name, value); + } + + // // Time + // unsigned int sizeT = PreTreatedData->GetMultTime(); + // for (unsigned int i = 0; i < sizeT; i++) { + // name = "ModularLeaf"+NPL::itoa(PreTreatedData->GetT_DetectorNbr(i))+"_TIME_CAL"; + // family = "ModularLeaf/CAL"; + + // GetHisto(family,name) -> Fill(PreTreatedData->Get_Time(i)); + // } +} + +//////////////////////////////////////////////////////////////////////////////// +void TModularLeafSpectra::FillPhysicsSpectra(std::vector<string>& leafs_X, + std::vector<string>& leafs_Y, + std::map<std::string, double>& CalibratedData) { + + static string name; + static string family; + double x = 0.; + double y = 0.; + int leafs_size; + if(leafs_X.size() == leafs_Y.size()){ + leafs_size = leafs_X.size(); + } + else{ + cout << "ERROR X SIZE DIFFERENT OF Y SIZE" << endl; + return exit(1); + } + + for(int i = 0; i < leafs_size ; i++){ + std::map<std::string, double>::iterator it1; + for (it1 = CalibratedData.begin(); it1 != CalibratedData.end(); it1++){ + if(it1->first == leafs_X[i]){ + x = it1->second; + } + } + std::map<std::string, double>::iterator it2; + for (it2 = CalibratedData.begin(); it2 != CalibratedData.end(); it2++){ + if(it2->first == leafs_Y[i]){ + y = it2->second; + } + } + + name = leafs_Y[i] + ":" + leafs_X[i]; + family = "ModularLeaf/PHY"; + FillSpectra(family, name, x, y); + } +} + diff --git a/NPLib/Detectors/ModularLeaf/TModularLeafSpectra.h b/NPLib/Detectors/ModularLeaf/TModularLeafSpectra.h new file mode 100644 index 0000000000000000000000000000000000000000..c58717cd6657d059b287f3d3ab0eb21b301dae97 --- /dev/null +++ b/NPLib/Detectors/ModularLeaf/TModularLeafSpectra.h @@ -0,0 +1,68 @@ +#ifndef TModularLeafSPECTRA_H +#define TModularLeafSPECTRA_H +/***************************************************************************** + * Copyright (C) 2009-XYEARX this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: XAUTHORX contact address: XMAILX * + * * + * Creation Date : XMONTHX XYEARX * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: * + * This class hold DETECTORNAME Spectra * + * * + *---------------------------------------------------------------------------* + * Comment: * + * * + * * + *****************************************************************************/ + +// NPLib headers +#include "NPVSpectra.h" +#include "TModularLeafPhysics.h" + +#include <string> +#include <vector> + +// Forward Declaration +class TModularLeafPhysics; + + +class TModularLeafSpectra : public VSpectra { + ////////////////////////////////////////////////////////////// + // constructor and destructor + public: + TModularLeafSpectra(); + TModularLeafSpectra(std::vector<std::string> leafs, std::vector<std::string> leafs_X, std::vector<std::string> leafs_Y); + ~TModularLeafSpectra(); + + ////////////////////////////////////////////////////////////// + // Initialization methods + private: + void InitRawSpectra(); + void InitPreTreatedSpectra(); + void InitPhysicsSpectra(std::vector<std::string>& leafs_X, std::vector<std::string>& leafs_Y); + TH1F* f_ModularHisto; + + ////////////////////////////////////////////////////////////// + // Filling methods + public: + void FillRawSpectra(std::map<std::string,short>&); + void FillPreTreatedSpectra(std::map<std::string, double>&); + void FillPhysicsSpectra(std::vector<std::string>& leafs_X, std::vector<std::string>& leafs_Y,std::map<std::string, double>& CalibratedData); + + +public: + ////////////////////////////////////////////////////////////// + // Detector parameters + private: + std::vector<std::string> fleafs; + +}; + +#endif diff --git a/NPLib/Detectors/Mugast/CMakeLists.txt b/NPLib/Detectors/Mugast/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..7db0a1ebfe7b1040f5f6242d148b9fa30e2b8614 --- /dev/null +++ b/NPLib/Detectors/Mugast/CMakeLists.txt @@ -0,0 +1,7 @@ +add_custom_command(OUTPUT TMugastPhysicsDict.cxx COMMAND ../../scripts/build_dict.sh TMugastPhysics.h TMugastPhysicsDict.cxx TMugastPhysics.rootmap libNPMugast.dylib DEPENDS TMugastPhysics.h) +add_custom_command(OUTPUT TMugastDataDict.cxx COMMAND ../../scripts/build_dict.sh TMugastData.h TMugastDataDict.cxx TMugastData.rootmap libNPMugast.dylib DEPENDS TMugastData.h) +#add_library(NPMUST2 SHARED TMugastData.cxx TMugastPhysics.cxx TMugastDataDict.cxx TMugastPhysicsDict.cxx TMugastSpectra.cxx) +add_library(NPMugast SHARED TMugastData.cxx TMugastDataDict.cxx TMugastPhysics.cxx TMugastPhysicsDict.cxx) +target_link_libraries(NPMugast ${ROOT_LIBRARIES} NPCore) +#install(FILES TMugastData.h TMugastPhysics.h TMugastSpectra.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY}) +install(FILES TMugastData.h TMugastPhysics.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY}) diff --git a/NPLib/Detectors/Mugast/TMugastData.cxx b/NPLib/Detectors/Mugast/TMugastData.cxx new file mode 100644 index 0000000000000000000000000000000000000000..ac590ee5de2943fcda0c9ff8adb13e7fe3c1c425 --- /dev/null +++ b/NPLib/Detectors/Mugast/TMugastData.cxx @@ -0,0 +1,88 @@ +/***************************************************************************** + * Copyright (C) 2009-2018 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: Adrien MATTA contact address: a.matta@surrey.ac.uk * + * * + * Creation Date : November 2018 * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: * + * This class hold MUGAST Raw data * + * * + *---------------------------------------------------------------------------* + * Comment: * + * * + * * + *****************************************************************************/ +#include <iostream> +using namespace std; + +#include "TMugastData.h" + +ClassImp(TMugastData) +//////////////////////////////////////////////////////////////////////////////// +TMugastData::TMugastData(){ +} +//////////////////////////////////////////////////////////////////////////////// +TMugastData::~TMugastData(){} +//////////////////////////////////////////////////////////////////////////////// +void TMugastData::Clear(){ + fMG_DSSDXE_DetectorNbr.clear(); + fMG_DSSDXE_StripNbr.clear(); + fMG_DSSDXE_Energy.clear(); + fMG_DSSDXT_DetectorNbr.clear(); + fMG_DSSDXT_StripNbr.clear(); + fMG_DSSDXT_Time.clear(); + fMG_DSSDYE_DetectorNbr.clear(); + fMG_DSSDYE_StripNbr.clear(); + fMG_DSSDYE_Energy.clear(); + fMG_DSSDYT_DetectorNbr.clear(); + fMG_DSSDYT_StripNbr.clear(); + fMG_DSSDYT_Time.clear(); + fMG_SecondLayerE_DetectorNbr.clear(); + fMG_SecondLayerE_StripNbr.clear(); + fMG_SecondLayerE_Energy.clear(); + fMG_SecondLayerT_DetectorNbr.clear(); + fMG_SecondLayerT_StripNbr.clear(); + fMG_SecondLayerT_Time.clear(); +} +//////////////////////////////////////////////////////////////////////////////// +void TMugastData::Dump() const +{ + cout << "XXXXXXXXXXXXXXXXXXXXXXXX Mugast Event XXXXXXXXXXXXXXXXX" << endl; + + cout << "// First Layer " << endl; + // (X,E) + cout << " DSSDXE_Mult = " << fMG_DSSDXE_DetectorNbr.size() << endl; + for (UShort_t i = 0; i < fMG_DSSDXE_DetectorNbr.size(); i++) + cout << " DetNbr: " << fMG_DSSDXE_DetectorNbr[i] << " DSSD: " << fMG_DSSDXE_StripNbr[i] << " Energy: " << fMG_DSSDXE_Energy[i] << endl; + // (X,T) + cout << " DSSDXT_Mult = " << fMG_DSSDXT_DetectorNbr.size() << endl; + for (UShort_t i = 0; i < fMG_DSSDXT_DetectorNbr.size(); i++) + cout << " DetNbr: " << fMG_DSSDXT_DetectorNbr[i] << " DSSD: " << fMG_DSSDXT_StripNbr[i] << " Time: " << fMG_DSSDXT_Time[i] << endl; + // (Y,E) + cout << " DSSDYE_Mult = " << fMG_DSSDYE_DetectorNbr.size() << endl; + for (UShort_t i = 0; i < fMG_DSSDYE_DetectorNbr.size(); i++) + cout << " DetNbr: " << fMG_DSSDYE_DetectorNbr[i] << " DSSD: " << fMG_DSSDYE_StripNbr[i] << " Energy: " << fMG_DSSDYE_Energy[i] << endl; + // (Y,T) + cout << " DSSDYT_Mult = " << fMG_DSSDYT_DetectorNbr.size() << endl; + for (UShort_t i = 0; i < fMG_DSSDYT_DetectorNbr.size(); i++) + cout << " DetNbr: " << fMG_DSSDYT_DetectorNbr[i] << " DSSD: " << fMG_DSSDYT_StripNbr[i] << " Time: " << fMG_DSSDYT_Time[i] << endl; + + // SecondLayer + // Energy + cout << "// Second Layer " << endl; + cout << " SecondLayerE_Mult = " << fMG_SecondLayerE_DetectorNbr.size() << endl; + for (UShort_t i = 0; i < fMG_SecondLayerE_DetectorNbr.size(); i++) + cout << " Det: " << fMG_SecondLayerE_DetectorNbr[i] << " DSSD: " << fMG_SecondLayerE_StripNbr[i] << " Energy: " << fMG_SecondLayerE_Energy[i] << endl; + // Time + cout << " SecondLayerT_Mult = " << fMG_SecondLayerT_DetectorNbr.size() << endl; + for (UShort_t i = 0; i < fMG_SecondLayerT_DetectorNbr.size(); i++) + cout << " Det: " << fMG_SecondLayerT_DetectorNbr[i] << " DSSD: " << fMG_SecondLayerT_StripNbr[i] << " Time: " << fMG_SecondLayerT_Time[i] << endl; + +} diff --git a/NPLib/Detectors/Mugast/TMugastData.h b/NPLib/Detectors/Mugast/TMugastData.h new file mode 100644 index 0000000000000000000000000000000000000000..05d1e2ebe4007448ad672be44cc4bb873835f9f4 --- /dev/null +++ b/NPLib/Detectors/Mugast/TMugastData.h @@ -0,0 +1,153 @@ +#ifndef MUGASTDATA_H +#define MUGASTDATA_H +/***************************************************************************** + * Copyright (C) 2009-2018 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: Adrien MATTA contact address: a.matta@surrey.ac.uk * + * * + * Creation Date : November 2018 * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: * + * This class hold MUGAST Raw data * + * * + *---------------------------------------------------------------------------* + * Comment: * + * * + * * + *****************************************************************************/ +#include <vector> +#include "TObject.h" + +using namespace std ; +class TMugastData : public TObject { + private: + // First Layer + // X strips + // Energy + vector<unsigned short> fMG_DSSDXE_DetectorNbr; + vector<unsigned short> fMG_DSSDXE_StripNbr; + vector<double> fMG_DSSDXE_Energy; + // Time + vector<unsigned short> fMG_DSSDXT_DetectorNbr; + vector<unsigned short> fMG_DSSDXT_StripNbr; + vector<double> fMG_DSSDXT_Time; + // Y strips + // Energy + vector<unsigned short> fMG_DSSDYE_DetectorNbr; + vector<unsigned short> fMG_DSSDYE_StripNbr; + vector<double> fMG_DSSDYE_Energy; + // Time + vector<unsigned short> fMG_DSSDYT_DetectorNbr; + vector<unsigned short> fMG_DSSDYT_StripNbr; + vector<double> fMG_DSSDYT_Time; + + // Second Layer + // Front + // Energy + vector<unsigned short> fMG_SecondLayerE_DetectorNbr; + vector<unsigned short> fMG_SecondLayerE_StripNbr; + vector<double> fMG_SecondLayerE_Energy; + // Time + vector<unsigned short> fMG_SecondLayerT_DetectorNbr; + vector<unsigned short> fMG_SecondLayerT_StripNbr; + vector<double> fMG_SecondLayerT_Time; + + public: + TMugastData(); + virtual ~TMugastData(); + + void Clear(); + void Clear(const Option_t*) {}; + void Dump() const; + + ///////////////////// SETTERS //////////////////////// + // FirstLayer + // (X,E) + inline void SetDSSDXE(const unsigned short& DetNbr, const unsigned short& StripNbr, const double& Energy){ + fMG_DSSDXE_DetectorNbr.push_back(DetNbr); + fMG_DSSDXE_StripNbr.push_back(StripNbr); + fMG_DSSDXE_Energy.push_back(Energy); + } + + // (X,T) + inline void SetDSSDXT(const unsigned short& DetNbr, const unsigned short& StripNbr, const double& Time){ + fMG_DSSDXT_DetectorNbr.push_back(DetNbr); + fMG_DSSDXT_StripNbr.push_back(StripNbr); + fMG_DSSDXT_Time.push_back(Time); + } + // (Y,E) + inline void SetDSSDYE(const unsigned short& DetNbr, const unsigned short& StripNbr, const double& Energy){ + fMG_DSSDYE_DetectorNbr.push_back(DetNbr); + fMG_DSSDYE_StripNbr.push_back(StripNbr); + fMG_DSSDYE_Energy.push_back(Energy); + } + + // (Y,T) + inline void SetDSSDYT(const unsigned short& DetNbr, const unsigned short& StripNbr, const double& Time){ + fMG_DSSDYT_DetectorNbr.push_back(DetNbr); + fMG_DSSDYT_StripNbr.push_back(StripNbr); + fMG_DSSDYT_Time.push_back(Time); + } + + // Second Layer + // E + inline void SetSecondLayerE(const unsigned short& DetNbr, const unsigned short& StripNbr, const double& Energy){ + fMG_SecondLayerE_DetectorNbr.push_back(DetNbr); + fMG_SecondLayerE_StripNbr.push_back(StripNbr); + fMG_SecondLayerE_Energy.push_back(Energy); + } + + // T + inline void SetSecondLayerT(const unsigned short& DetNbr, const unsigned short& StripNbr, const double& Time){ + fMG_SecondLayerT_DetectorNbr.push_back(DetNbr); + fMG_SecondLayerT_StripNbr.push_back(StripNbr); + fMG_SecondLayerT_Time.push_back(Time); + } + + + ///////////////////// GETTERS //////////////////////// + // DSSD + // (X,E) + inline unsigned short GetDSSDXEMult() const {return fMG_DSSDXE_DetectorNbr.size();} + inline unsigned short GetDSSDXEDetectorNbr(const int& i) const {return fMG_DSSDXE_DetectorNbr[i];} + inline unsigned short GetDSSDXEStripNbr(const int& i) const {return fMG_DSSDXE_StripNbr[i];} + inline double GetDSSDXEEnergy(const int& i) const {return fMG_DSSDXE_Energy[i];} + // (X,T) + inline unsigned short GetDSSDXTMult() const {return fMG_DSSDXT_DetectorNbr.size();} + inline unsigned short GetDSSDXTDetectorNbr(const int& i) const {return fMG_DSSDXT_DetectorNbr[i];} + inline unsigned short GetDSSDXTStripNbr(const int& i) const {return fMG_DSSDXT_StripNbr[i];} + inline double GetDSSDXTTime(const int& i) const {return fMG_DSSDXT_Time[i];} + // (Y,E) + inline unsigned short GetDSSDYEMult() const {return fMG_DSSDYE_DetectorNbr.size();} + inline unsigned short GetDSSDYEDetectorNbr(const int& i) const {return fMG_DSSDYE_DetectorNbr[i];} + inline unsigned short GetDSSDYEStripNbr(const int& i) const {return fMG_DSSDYE_StripNbr[i];} + inline double GetDSSDYEEnergy(const int& i) const {return fMG_DSSDYE_Energy[i];} + // (Y,T) + inline unsigned short GetDSSDYTMult() const {return fMG_DSSDYT_DetectorNbr.size();} + inline unsigned short GetDSSDYTDetectorNbr(const int& i) const {return fMG_DSSDYT_DetectorNbr[i];} + inline unsigned short GetDSSDYTStripNbr(const int& i) const {return fMG_DSSDYT_StripNbr[i];} + inline double GetDSSDYTTime(const int& i) const {return fMG_DSSDYT_Time[i];} + + // Second Layer + //(E) + inline unsigned short GetSecondLayerEMult() const {return fMG_SecondLayerE_DetectorNbr.size();} + inline unsigned short GetSecondLayerEDetectorNbr(const int& i) const {return fMG_SecondLayerE_DetectorNbr[i];} + inline unsigned short GetSecondLayerEStripNbr(const int& i) const {return fMG_SecondLayerE_StripNbr[i];} + inline double GetSecondLayerEEnergy(const int& i) const {return fMG_SecondLayerE_Energy[i];} + //(T) + inline unsigned short GetSecondLayerTMult() const {return fMG_SecondLayerT_DetectorNbr.size();} + inline unsigned short GetSecondLayerTDetectorNbr(const int& i) const {return fMG_SecondLayerT_DetectorNbr[i];} + inline unsigned short GetSecondLayerTStripNbr(const int& i) const {return fMG_SecondLayerT_StripNbr[i];} + inline double GetSecondLayerTTime(const int& i) const {return fMG_SecondLayerT_Time[i];} + + + ClassDef(TMugastData,1) // MugastData structure +}; + +#endif diff --git a/NPLib/Detectors/Mugast/TMugastPhysics.cxx b/NPLib/Detectors/Mugast/TMugastPhysics.cxx new file mode 100644 index 0000000000000000000000000000000000000000..270a284d0365d3d3a1edbb1d62de10997fbbb7f0 --- /dev/null +++ b/NPLib/Detectors/Mugast/TMugastPhysics.cxx @@ -0,0 +1,912 @@ +/***************************************************************************** + * Copyright (C) 2009-2016 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: Adrien MATTA contact address: a.matta@surrey.ac.uk * + * * + * Creation Date : febuary 2009 * + * Last update : october 2010 * + *---------------------------------------------------------------------------* + * Decription: * + * This class hold must2 treated data * + * * + *---------------------------------------------------------------------------* + * Comment: * + * * + *****************************************************************************/ +#include "TMugastPhysics.h" +using namespace MUST2_LOCAL; + +// STL +#include <cmath> +#include <iostream> +#include <limits> +#include <sstream> +#include <stdlib.h> + +// NPL +#include "NPDetectorFactory.h" +#include "NPInputParser.h" +#include "NPOptionManager.h" +#include "NPSystemOfUnits.h" +#include "RootInput.h" +#include "RootOutput.h" +#include "TAsciiFile.h" +using namespace NPUNITS; +// ROOT +#include "TChain.h" +/////////////////////////////////////////////////////////////////////////// + +ClassImp(TMugastPhysics) + /////////////////////////////////////////////////////////////////////////// + TMugastPhysics::TMugastPhysics() { + EventMultiplicity = 0; + m_EventData = new TMugastData; + m_PreTreatedData = new TMugastData; + m_EventPhysics = this; + //m_Spectra = NULL; + m_NumberOfTelescope = 0; + m_MaximumStripMultiplicityAllowed = 10; + m_StripEnergyMatching = 0.050; + // Raw Threshold + m_DSSD_X_E_RAW_Threshold = 8200; + m_DSSD_Y_E_RAW_Threshold = 8200; + m_SecondLayer_E_RAW_Threshold = 8200; + // Calibrated Threshold + m_DSSD_X_E_Threshold = 0; + m_DSSD_Y_E_Threshold = 0; + m_SecondLayer_E_Threshold = 0; + + m_Take_E_Y = false; + m_Take_T_Y = true; +} + +/////////////////////////////////////////////////////////////////////////// +TMugastPhysics::~TMugastPhysics() {} +/////////////////////////////////////////////////////////////////////////// +void TMugastPhysics::BuildSimplePhysicalEvent() { BuildPhysicalEvent(); } + +////////////////////////////////////////////////////////////////////////// +void TMugastPhysics::PreTreat() { + ClearPreTreatedData(); + static unsigned int DSSDX_EMult, DSSDY_EMult, SecondLayer_EMult; + static unsigned int DSSDX_TMult, DSSDY_TMult, SecondLayer_TMult; + DSSDX_EMult = m_EventData->GetDSSDXEMult(); + DSSDY_EMult = m_EventData->GetDSSDYEMult(); + DSSDX_TMult = m_EventData->GetDSSDXTMult(); + DSSDY_TMult = m_EventData->GetDSSDYTMult(); + SecondLayer_EMult = m_EventData->GetSecondLayerEMult(); + SecondLayer_TMult = m_EventData->GetSecondLayerTMult(); + + // X + // E + for (unsigned int i = 0; i < DSSDX_EMult; ++i) { + if (m_EventData->GetDSSDXEEnergy(i) > m_DSSD_X_E_RAW_Threshold + && IsValidChannel(0, m_EventData->GetDSSDXEDetectorNbr(i), + m_EventData->GetDSSDXEStripNbr(i))) { + double EX = fDSSD_X_E(m_EventData, i); + if (EX > m_DSSD_X_E_Threshold) + m_PreTreatedData->SetDSSDXE(m_EventData->GetDSSDXEDetectorNbr(i), + m_EventData->GetDSSDXEStripNbr(i), EX); + } + } + // T + for (unsigned int i = 0; i < DSSDX_TMult; ++i) { + if (IsValidChannel(0, m_EventData->GetDSSDXTDetectorNbr(i), + m_EventData->GetDSSDXTStripNbr(i))) + m_PreTreatedData->SetDSSDXT(m_EventData->GetDSSDXTDetectorNbr(i), + m_EventData->GetDSSDXTStripNbr(i), + fDSSD_X_T(m_EventData, i)); + } + + // Y + // E + for (unsigned int i = 0; i < DSSDY_EMult; ++i) { + if (m_EventData->GetDSSDYEEnergy(i) < m_DSSD_Y_E_RAW_Threshold + && IsValidChannel(1, m_EventData->GetDSSDYEDetectorNbr(i), + m_EventData->GetDSSDYEStripNbr(i))) { + double EY = fDSSD_Y_E(m_EventData, i); + if (EY > m_DSSD_Y_E_Threshold) + m_PreTreatedData->SetDSSDYE(m_EventData->GetDSSDYEDetectorNbr(i), + m_EventData->GetDSSDYEStripNbr(i), EY); + } + } + + // T + for (unsigned int i = 0; i < DSSDY_TMult; ++i) { + if (IsValidChannel(1, m_EventData->GetDSSDYTDetectorNbr(i), + m_EventData->GetDSSDYTStripNbr(i))) + m_PreTreatedData->SetDSSDYT(m_EventData->GetDSSDYTDetectorNbr(i), + m_EventData->GetDSSDYTStripNbr(i), + fDSSD_Y_T(m_EventData, i)); + } + + // SecondLayer + // E + for (unsigned int i = 0; i < SecondLayer_EMult; ++i) { + if (m_EventData->GetSecondLayerEEnergy(i) > m_SecondLayer_E_RAW_Threshold + && IsValidChannel(3, m_EventData->GetSecondLayerEDetectorNbr(i), + m_EventData->GetSecondLayerEStripNbr(i))) { + double ESecondLayer = fSecondLayer_E(m_EventData, i); + if (ESecondLayer > m_SecondLayer_E_Threshold) + m_PreTreatedData->SetSecondLayerE(m_EventData->GetSecondLayerEDetectorNbr(i), + m_EventData->GetSecondLayerEStripNbr(i), ESecondLayer); + } + } + + // T + for (unsigned int i = 0; i < SecondLayer_TMult; ++i) { + if (IsValidChannel(3, m_EventData->GetSecondLayerTDetectorNbr(i), + m_EventData->GetSecondLayerTStripNbr(i))) + m_PreTreatedData->SetSecondLayerT(m_EventData->GetSecondLayerTDetectorNbr(i), + m_EventData->GetSecondLayerTStripNbr(i), + fSecondLayer_T(m_EventData, i)); + } + + return; +} + + +/////////////////////////////////////////////////////////////////////////// + +void TMugastPhysics::BuildPhysicalEvent() { + + PreTreat(); + + bool check_SILI = false; + bool check_SecondLayer = false; + static unsigned int DSSDXEMult, DSSDYEMult, DSSDXTMult, DSSDYTMult,SecondLayerEMult,SecondLayerTMult; + DSSDXEMult = m_PreTreatedData->GetDSSDXEMult(); + DSSDYEMult = m_PreTreatedData->GetDSSDYEMult(); + DSSDXTMult = m_PreTreatedData->GetDSSDXTMult(); + DSSDYTMult = m_PreTreatedData->GetDSSDYTMult(); + SecondLayerEMult = m_PreTreatedData->GetSecondLayerEMult(); + SecondLayerTMult = m_PreTreatedData->GetSecondLayerTMult(); + + if (1 /*CheckEvent() == 1*/) { + vector<TVector2> couple = Match_X_Y(); + + EventMultiplicity = couple.size(); + for (unsigned int i = 0; i < couple.size(); ++i) { + check_SILI = false; + check_SecondLayer = false; + + int N = m_PreTreatedData->GetDSSDXEDetectorNbr(couple[i].X()); + + int X = m_PreTreatedData->GetDSSDXEStripNbr(couple[i].X()); + int Y = m_PreTreatedData->GetDSSDYEStripNbr(couple[i].Y()); + + double DSSD_X_E = m_PreTreatedData->GetDSSDXEEnergy(couple[i].X()); + double DSSD_Y_E = m_PreTreatedData->GetDSSDYEEnergy(couple[i].Y()); + + // Search for associate Time + double DSSD_X_T = -1000; + for (unsigned int t = 0; t < DSSDXTMult; ++t) { + if (m_PreTreatedData->GetDSSDXTStripNbr(couple[i].X()) + == m_PreTreatedData->GetDSSDXTStripNbr(t) + && m_PreTreatedData->GetDSSDXTDetectorNbr(couple[i].X()) + == m_PreTreatedData->GetDSSDXTDetectorNbr(t)) { + DSSD_X_T = m_PreTreatedData->GetDSSDXTTime(t); + break; + } + } + + double DSSD_Y_T = -1000; + for (unsigned int t = 0; t < DSSDYTMult; ++t) { + if (m_PreTreatedData->GetDSSDYTStripNbr(couple[i].Y()) + == m_PreTreatedData->GetDSSDYTStripNbr(t) + && m_PreTreatedData->GetDSSDYTDetectorNbr(couple[i].Y()) + == m_PreTreatedData->GetDSSDYTDetectorNbr(t)) { + DSSD_Y_T = m_PreTreatedData->GetDSSDYTTime(t); + break; + } + } + + DSSD_X.push_back(X); + DSSD_Y.push_back(Y); + TelescopeNumber.push_back(N); + + if (m_Take_E_Y) + DSSD_E.push_back(DSSD_Y_E); + else + DSSD_E.push_back(DSSD_X_E); + + if (m_Take_T_Y) + DSSD_T.push_back(DSSD_Y_T); + else + DSSD_T.push_back(DSSD_X_T); + + for (unsigned int j = 0; j < SecondLayerEMult; ++j) { + if (m_PreTreatedData->GetSecondLayerEDetectorNbr(j) == N) { + if (Match_SecondLayer(X, Y, m_PreTreatedData->GetSecondLayerEStripNbr(j))) { + SecondLayer_N.push_back(m_PreTreatedData->GetSecondLayerEStripNbr(j)); + SecondLayer_E.push_back(m_PreTreatedData->GetSecondLayerEEnergy(j)); + SecondLayer_T.push_back(-1000); + // Look for associate Time + for (unsigned int k = 0; k < SecondLayerTMult; ++k) { + // Same DSSD, Same Detector + if (m_PreTreatedData->GetSecondLayerEStripNbr(j) + == m_PreTreatedData->GetSecondLayerTStripNbr(k) + && m_PreTreatedData->GetSecondLayerEDetectorNbr(j) + == m_PreTreatedData->GetSecondLayerTDetectorNbr(k)) { + SecondLayer_T[SecondLayer_T.size() - 1] = m_PreTreatedData->GetSecondLayerTTime(j); + break; + } + } + + check_SecondLayer = true; + } + } + } + + if (!check_SecondLayer) { + SecondLayer_N.push_back(0); + SecondLayer_E.push_back(-1000); + SecondLayer_T.push_back(-1000); + } + } + } + return; +} + +/////////////////////////////////////////////////////////////////////////// +int TMugastPhysics::CheckEvent() { + // Check the size of the different elements + if (m_PreTreatedData->GetDSSDXEMult() + == m_PreTreatedData->GetDSSDYEMult()) + return 1; // Regular Event + + // INterstrip management is not coded, so waste of time to make this test + /* else if( m_PreTreatedData->GetMMStripXEMult() == + m_PreTreatedData->GetMMStripYEMult()+1 + || m_PreTreatedData->GetMMStripXEMult() == + m_PreTreatedData->GetMMStripYEMult()-1 ) + return 2 ; // Pseudo Event, potentially interstrip*/ + + else + return -1; // Rejected Event +} + +/////////////////////////////////////////////////////////////////////////// +bool TMugastPhysics::ResolvePseudoEvent() { return false; } + +/////////////////////////////////////////////////////////////////////////// +vector<TVector2> TMugastPhysics::Match_X_Y() { + vector<TVector2> ArrayOfGoodCouple; + static unsigned int m_DSSDXEMult,m_DSSDYEMult; + m_DSSDXEMult = m_PreTreatedData->GetDSSDXEMult(); + m_DSSDYEMult = m_PreTreatedData->GetDSSDYEMult(); + + // Prevent code from treating very high multiplicity Event + // Those event are not physical anyway and that improve speed. + if (m_DSSDXEMult > m_MaximumStripMultiplicityAllowed + || m_DSSDYEMult > m_MaximumStripMultiplicityAllowed) { + return ArrayOfGoodCouple; + } + + for (unsigned int i = 0; i < m_DSSDXEMult; i++) { + for (unsigned int j = 0; j < m_DSSDYEMult; j++) { + + // Declaration of variable for clarity + double DSSDXDetNbr = m_PreTreatedData->GetDSSDXEDetectorNbr(i); + double DSSDYDetNbr = m_PreTreatedData->GetDSSDYEDetectorNbr(j); + + // if same detector check energy + if (DSSDXDetNbr == DSSDYDetNbr) { + + // Declaration of variable for clarity + double DSSDXEnergy = m_PreTreatedData->GetDSSDXEEnergy(i); + double DSSDXNbr = m_PreTreatedData->GetDSSDXEStripNbr(i); + double DSSDYEnergy = m_PreTreatedData->GetDSSDYEEnergy(j); + double DSSDYNbr = m_PreTreatedData->GetDSSDYEStripNbr(j); + + // Look if energy match + if (abs((DSSDXEnergy - DSSDYEnergy) / 2.) + < m_StripEnergyMatching) { + // Gives a unique ID for every telescope and strip combination + int IDX = m_NumberOfTelescope * DSSDXNbr + DSSDXDetNbr; + int IDY = m_NumberOfTelescope * DSSDYNbr + DSSDYDetNbr; + + m_HitDSSDX[IDX]++; + m_HitDSSDY[IDY]++; + + ArrayOfGoodCouple.push_back(TVector2(i, j)); + } + } + } + } + + // Prevent to treat event with ambiguous matching beetween X and Y + map<int, int>::iterator itX = m_HitDSSDX.begin(); + for (; itX != m_HitDSSDX.end(); itX++) { + if (itX->second > 1) { + ArrayOfGoodCouple.clear(); + } + } + + map<int, int>::iterator itY = m_HitDSSDY.begin(); + for (; itY != m_HitDSSDY.end(); itY++) { + if (itY->second > 1) { + ArrayOfGoodCouple.clear(); + } + } + + m_HitDSSDX.clear(); + m_HitDSSDY.clear(); + + return ArrayOfGoodCouple; +} + +//////////////////////////////////////////////////////////////////////////// +bool TMugastPhysics::IsValidChannel(const int& DetectorType, + const int& telescope, const int& channel) { + if (DetectorType == 0) + return *(m_XChannelStatus[telescope - 1].begin() + channel - 1); + + else if (DetectorType == 1) + return *(m_YChannelStatus[telescope - 1].begin() + channel - 1); + + else if (DetectorType == 2) + return *(m_SecondLayerChannelStatus[telescope - 1].begin() + channel - 1); + + else + return false; +} + +/////////////////////////////////////////////////////////////////////////// +void TMugastPhysics::ReadAnalysisConfig() { + + NPL::InputParser parser("./configs/ConfigMugast.dat"); + vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("ConfigMugast"); + + for (unsigned int i = 0; i < blocks.size(); i++) { + if(blocks[i]->HasToken("MAX_STRIP_MULTIPLICITY")) + m_MaximumStripMultiplicityAllowed = blocks[i]->GetInt("MAX_STRIP_MULTIPLICITY"); + else if(blocks[i]->HasToken("STRIP_ENERGY_MATCHING")) + m_StripEnergyMatching = blocks[i]->GetDouble("STRIP_ENERGY_MATCHING","MeV"); + else if(blocks[i]->HasToken("DISABLE_CHANNEL")){ + vector<int> v = blocks[i]->GetVectorInt("DISABLE_CHANNEL"); + *(m_XChannelStatus[v[0] - 1].begin() + v[1] - 1) = false; + } + else if(blocks[i]->HasToken("DISABLE_ALL")){ + int telescope = blocks[i]->GetInt("DISABLE_ALL"); + vector<bool> ChannelStatus; + ChannelStatus.resize(128, false); + m_XChannelStatus[telescope - 1] = ChannelStatus; + m_YChannelStatus[telescope - 1] = ChannelStatus; + ChannelStatus.resize(16, false); + m_SecondLayerChannelStatus[telescope - 1] = ChannelStatus; + } + else if (blocks[i]->HasToken("TAKE_E_Y")) + m_Take_E_Y = blocks[i]->GetInt("TAKE_E_Y"); + + else if (blocks[i]->HasToken("TAKE_T_Y")) + m_Take_T_Y = blocks[i]->GetInt("TAKE_T_Y"); + + else if (blocks[i]->HasToken("TAKE_E_X")) + m_Take_E_Y = !(blocks[i]->GetInt("TAKE_E_X")); + + else if (blocks[i]->HasToken("TAKE_T_X")) + m_Take_T_Y = !(blocks[i]->GetInt("TAKE_T_X")); + + else if (blocks[i]->HasToken("DSSD_X_E_RAW_THRESHOLD")) + m_DSSD_X_E_RAW_Threshold = blocks[i]->GetInt("DSSD_X_E_RAW_THRESHOLD"); + + else if (blocks[i]->HasToken("DSSD_Y_E_RAW_THRESHOLD")) + m_DSSD_Y_E_RAW_Threshold = blocks[i]->GetInt("DSSD_Y_E_RAW_THRESHOLD"); + + else if (blocks[i]->HasToken("SECONDLAYER_E_RAW_THRESHOLD")) + m_SecondLayer_E_RAW_Threshold = blocks[i]->GetInt("SECONDLAYER_E_RAW_THRESHOLD"); + + else if (blocks[i]->HasToken("DSSD_X_E_THRESHOLD")) + m_DSSD_X_E_Threshold = blocks[i]->GetDouble("DSSD_X_E_THRESHOLD","MeV"); + + else if (blocks[i]->HasToken("DSSD_Y_E_THRESHOLD")) + m_DSSD_Y_E_Threshold = blocks[i]->GetDouble("DSSD_Y_E_THRESHOLD","MeV"); + + else if (blocks[i]->HasToken("SECONDLAYER_E_THRESHOLD")) + m_SecondLayer_E_Threshold = blocks[i]->GetDouble("SECONDLAYER_E_THRESHOLD","MeV"); + } +} + +/////////////////////////////////////////////////////////////////////////// +bool TMugastPhysics::Match_SecondLayer(int X, int Y, int StripNbr) { +/* + if (abs(m_CsI_MatchingX[CristalNbr - 1] - X) < (double)m_CsI_Size / 2. + && abs(m_CsI_MatchingY[CristalNbr - 1] - Y) < (double)m_CsI_Size / 2.) + return true; + + else + return false;*/ + return true; +} + +/////////////////////////////////////////////////////////////////////////// +void TMugastPhysics::Clear() { + EventMultiplicity = 0; + + TelescopeNumber.clear(); + EventType.clear(); + TotalEnergy.clear(); + + // DSSD X + DSSD_E.clear(); + DSSD_T.clear(); + DSSD_X.clear(); + DSSD_Y.clear(); + // SecondLayer + SecondLayer_E.clear(); + SecondLayer_T.clear(); + SecondLayer_N.clear(); + +} + +//// Innherited from VDetector Class //// + +/////////////////////////////////////////////////////////////////////////// +void TMugastPhysics::ReadConfiguration(NPL::InputParser parser) { + vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("M2Telescope"); + if (NPOptionManager::getInstance()->GetVerboseLevel()) + cout << "//// " << blocks.size() << " Telescope found " << endl; + + // Cartesian Case + vector<string> cart + = {"X1_Y1", "X1_Y128", "X128_Y1", "X128_Y128", "SI", "SILI", "CSI"}; + // Spherical Case + vector<string> sphe = {"R", "THETA", "PHI", "BETA", "SI", "SILI", "CSI"}; + + for (unsigned int i = 0; i < blocks.size(); i++) { + if (blocks[i]->HasTokenList(cart)) { + if (NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "//// Mugast Telescope " << i + 1 << endl; + TVector3 A = blocks[i]->GetTVector3("X1_Y1", "mm"); + TVector3 B = blocks[i]->GetTVector3("X128_Y1", "mm"); + TVector3 C = blocks[i]->GetTVector3("X1_Y128", "mm"); + TVector3 D = blocks[i]->GetTVector3("X128_Y128", "mm"); + AddTelescope(A, B, C, D); + } + + else if (blocks[i]->HasTokenList(sphe)) { + if (NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "//// Mugast Telescope " << i + 1 << endl; + + double Theta = blocks[i]->GetDouble("THETA", "deg"); + double Phi = blocks[i]->GetDouble("PHI", "deg"); + double R = blocks[i]->GetDouble("R", "mm"); + vector<double> beta = blocks[i]->GetVectorDouble("BETA", "deg"); + AddTelescope(Theta, Phi, R, beta[0], beta[1], beta[2]); + } + + else { + cout << "ERROR: Missing token for M2Telescope blocks, check your input " + "file" + << endl; + exit(1); + } + } + + InitializeStandardParameter(); + ReadAnalysisConfig(); +} +////////////////////////////////////////////////////////////////////////// +void TMugastPhysics::InitSpectra() { + //m_Spectra = new TMugastSpectra(m_NumberOfTelescope); +} + +/////////////////////////////////////////////////////////////////////////// +void TMugastPhysics::FillSpectra() { + // m_Spectra->FillRawSpectra(m_EventData); + // m_Spectra->FillPreTreatedSpectra(m_PreTreatedData); + // m_Spectra->FillPhysicsSpectra(m_EventPhysics); +} +/////////////////////////////////////////////////////////////////////////// +void TMugastPhysics::CheckSpectra() { /*m_Spectra->CheckSpectra();*/ } +/////////////////////////////////////////////////////////////////////////// +void TMugastPhysics::ClearSpectra() { + // To be done +} + +/////////////////////////////////////////////////////////////////////////// +void TMugastPhysics::WriteSpectra() { + //if (m_Spectra) + // m_Spectra->WriteSpectra(); +} + +/////////////////////////////////////////////////////////////////////////// +map<string, TH1*> TMugastPhysics::GetSpectra() { +/* if (m_Spectra) + return m_Spectra->GetMapHisto(); + else { + map<string, TH1*> empty; + return empty; + }*/ +} + +/////////////////////////////////////////////////////////////////////////// +void TMugastPhysics::AddParameterToCalibrationManager() { + CalibrationManager* Cal = CalibrationManager::getInstance(); + // Good for simulation, close to typical values + vector<double> standardX = {-63, 63. / 8192.}; + vector<double> standardY = {63, -63. / 8192.}; + vector<double> standardSecondLayer = {-250, 250. / 8192.}; + vector<double> standardT = {-1000, 1000. / 8192.}; + + for (int i = 0; i < m_NumberOfTelescope; ++i) { + + for (int j = 0; j < 128; ++j) { + Cal->AddParameter( + "Mugast", "T" + NPL::itoa(i + 1) + "_DSSD_X" + NPL::itoa(j + 1) + "_E", + "Mugast_T" + NPL::itoa(i + 1) + "_DSSD_X" + NPL::itoa(j + 1) + "_E", + standardX); + Cal->AddParameter( + "Mugast", "T" + NPL::itoa(i + 1) + "_DSSD_Y" + NPL::itoa(j + 1) + "_E", + "Mugast_T" + NPL::itoa(i + 1) + "_DSSD_Y" + NPL::itoa(j + 1) + "_E", + standardY); + Cal->AddParameter( + "Mugast", "T" + NPL::itoa(i + 1) + "_DSSD_X" + NPL::itoa(j + 1) + "_T", + "Mugast_T" + NPL::itoa(i + 1) + "_DSSD_X" + NPL::itoa(j + 1) + "_T", + standardT); + Cal->AddParameter( + "Mugast", "T" + NPL::itoa(i + 1) + "_DSSD_Y" + NPL::itoa(j + 1) + "_T", + "Mugast_T" + NPL::itoa(i + 1) + "_DSSD_Y" + NPL::itoa(j + 1) + "_T", + standardT); + } + + for (int j = 0; j < 16; ++j) { + Cal->AddParameter( + "Mugast", "T" + NPL::itoa(i + 1) + "_SecondLayer" + NPL::itoa(j + 1) + "_E", + "Mugast_T" + NPL::itoa(i + 1) + "_SecondLayer" + NPL::itoa(j + 1) + "_E", + standardSecondLayer); + Cal->AddParameter( + "Mugast", "T" + NPL::itoa(i + 1) + "_SecondLayer" + NPL::itoa(j + 1) + "_T", + "Mugast_T" + NPL::itoa(i + 1) + "_SecondLayer" + NPL::itoa(j + 1) + "_T", + standardT); + } + } + + return; +} + +/////////////////////////////////////////////////////////////////////////// +void TMugastPhysics::InitializeRootInputRaw() { + TChain* inputChain = RootInput::getInstance()->GetChain(); + inputChain->SetBranchStatus("Mugast", true); + inputChain->SetBranchStatus("fMM_*", true); + inputChain->SetBranchAddress("Mugast", &m_EventData); +} + +/////////////////////////////////////////////////////////////////////////// +void TMugastPhysics::InitializeRootInputPhysics() { + TChain* inputChain = RootInput::getInstance()->GetChain(); + inputChain->SetBranchStatus("Mugast", true); + inputChain->SetBranchStatus("EventMultiplicity", true); + inputChain->SetBranchStatus("EventType", true); + inputChain->SetBranchStatus("TelescopeNumber", true); + inputChain->SetBranchStatus("Si_E", true); + inputChain->SetBranchStatus("Si_T", true); + inputChain->SetBranchStatus("Si_X", true); + inputChain->SetBranchStatus("Si_Y", true); + inputChain->SetBranchStatus("Si_EX", true); + inputChain->SetBranchStatus("Si_TX", true); + inputChain->SetBranchStatus("Si_EY", true); + inputChain->SetBranchStatus("Si_TY", true); + inputChain->SetBranchStatus("TelescopeNumber_X", true); + inputChain->SetBranchStatus("TelescopeNumber_Y", true); + inputChain->SetBranchStatus("SiLi_E", true); + inputChain->SetBranchStatus("SiLi_T", true); + inputChain->SetBranchStatus("SiLi_N", true); + inputChain->SetBranchStatus("CsI_E", true); + inputChain->SetBranchStatus("CsI_T", true); + inputChain->SetBranchStatus("CsI_N", true); + inputChain->SetBranchStatus("TotalEnergy", true); + inputChain->SetBranchAddress("Mugast", &m_EventPhysics); +} + +/////////////////////////////////////////////////////////////////////////// +void TMugastPhysics::InitializeRootOutput() { + TTree* outputTree = RootOutput::getInstance()->GetTree(); + outputTree->Branch("Mugast", "TMugastPhysics", &m_EventPhysics); +} + +///// Specific to MugastArray //// + +void TMugastPhysics::AddTelescope(TVector3 C_X1_Y1, TVector3 C_X128_Y1, + TVector3 C_X1_Y128, TVector3 C_X128_Y128) { + // To avoid warning + C_X128_Y128 *= 1; + + m_NumberOfTelescope++; + + // Vector U on Telescope Face (paralelle to Y Strip) (NB: remember that Y + // strip are allong X axis) + TVector3 U = C_X128_Y1 - C_X1_Y1; + double Ushift = (U.Mag() - 98) / 2.; + U = U.Unit(); + // Vector V on Telescope Face (parallele to X Strip) + TVector3 V = C_X1_Y128 - C_X1_Y1; + double Vshift = (V.Mag() - 98) / 2.; + V = V.Unit(); + + // Position Vector of Strip Center + TVector3 StripCenter = TVector3(0, 0, 0); + // Position Vector of X=1 Y=1 Strip + TVector3 Strip_1_1; + + // Geometry Parameter + double Face = 98; // mm + double NumberOfStrip = 128; + double StripPitch = Face / NumberOfStrip; // mm + // Buffer object to fill Position Array + vector<double> lineX; + vector<double> lineY; + vector<double> lineZ; + + vector<vector<double>> OneTelescopeStripPositionX; + vector<vector<double>> OneTelescopeStripPositionY; + vector<vector<double>> OneTelescopeStripPositionZ; + + // Moving StripCenter to 1.1 corner: + Strip_1_1 = C_X1_Y1 + (U + V) * (StripPitch / 2.); + Strip_1_1 += U * Ushift + V * Vshift; + + for (int i = 0; i < 128; ++i) { + lineX.clear(); + lineY.clear(); + lineZ.clear(); + + for (int j = 0; j < 128; ++j) { + StripCenter = Strip_1_1 + StripPitch * (i * U + j * V); + lineX.push_back(StripCenter.X()); + lineY.push_back(StripCenter.Y()); + lineZ.push_back(StripCenter.Z()); + } + + OneTelescopeStripPositionX.push_back(lineX); + OneTelescopeStripPositionY.push_back(lineY); + OneTelescopeStripPositionZ.push_back(lineZ); + } + m_StripPositionX.push_back(OneTelescopeStripPositionX); + m_StripPositionY.push_back(OneTelescopeStripPositionY); + m_StripPositionZ.push_back(OneTelescopeStripPositionZ); +} + +void TMugastPhysics::InitializeStandardParameter() { + // Enable all channel + vector<bool> ChannelStatus; + m_XChannelStatus.clear(); + m_YChannelStatus.clear(); + m_SecondLayerChannelStatus.clear(); + + ChannelStatus.resize(128, true); + for (int i = 0; i < m_NumberOfTelescope; ++i) { + m_XChannelStatus[i] = ChannelStatus; + m_YChannelStatus[i] = ChannelStatus; + } + + ChannelStatus.resize(16, true); + for (int i = 0; i < m_NumberOfTelescope; ++i) { + m_SecondLayerChannelStatus[i] = ChannelStatus; + } + + m_MaximumStripMultiplicityAllowed = m_NumberOfTelescope; + + return; +} + +void TMugastPhysics::AddTelescope(double theta, double phi, double distance, + double beta_u, double beta_v, double beta_w) { + + m_NumberOfTelescope++; + + double Pi = 3.141592654; + + // convert from degree to radian: + theta = theta * Pi / 180.; + phi = phi * Pi / 180.; + + // Vector U on Telescope Face (paralelle to Y Strip) (NB: remember that Y + // strip are allong X axis) + TVector3 U; + // Vector V on Telescope Face (parallele to X Strip) + TVector3 V; + // Vector W normal to Telescope Face (pointing CsI) + TVector3 W; + // Vector position of Telescope Face center + TVector3 C; + + C = TVector3(distance * sin(theta) * cos(phi), + distance * sin(theta) * sin(phi), distance * cos(theta)); + + TVector3 P + = TVector3(cos(theta) * cos(phi), cos(theta) * sin(phi), -sin(theta)); + + W = C.Unit(); + U = W.Cross(P); + V = W.Cross(U); + + U = U.Unit(); + V = V.Unit(); + + U.Rotate(beta_u * Pi / 180., U); + V.Rotate(beta_u * Pi / 180., U); + + U.Rotate(beta_v * Pi / 180., V); + V.Rotate(beta_v * Pi / 180., V); + + U.Rotate(beta_w * Pi / 180., W); + V.Rotate(beta_w * Pi / 180., W); + + double Face = 98; // mm + double NumberOfStrip = 128; + double StripPitch = Face / NumberOfStrip; // mm + + vector<double> lineX; + vector<double> lineY; + vector<double> lineZ; + + vector<vector<double>> OneTelescopeStripPositionX; + vector<vector<double>> OneTelescopeStripPositionY; + vector<vector<double>> OneTelescopeStripPositionZ; + + double X, Y, Z; + + // Moving C to the 1.1 corner: + C.SetX(C.X() - (Face / 2 - StripPitch / 2) * (V.X() + U.X())); + C.SetY(C.Y() - (Face / 2 - StripPitch / 2) * (V.Y() + U.Y())); + C.SetZ(C.Z() - (Face / 2 - StripPitch / 2) * (V.Z() + U.Z())); + + for (int i = 0; i < 128; ++i) { + + lineX.clear(); + lineY.clear(); + lineZ.clear(); + + for (int j = 0; j < 128; ++j) { + X = C.X() + StripPitch * (U.X() * i + V.X() * j); + Y = C.Y() + StripPitch * (U.Y() * i + V.Y() * j); + Z = C.Z() + StripPitch * (U.Z() * i + V.Z() * j); + + lineX.push_back(X); + lineY.push_back(Y); + lineZ.push_back(Z); + } + + OneTelescopeStripPositionX.push_back(lineX); + OneTelescopeStripPositionY.push_back(lineY); + OneTelescopeStripPositionZ.push_back(lineZ); + } + m_StripPositionX.push_back(OneTelescopeStripPositionX); + m_StripPositionY.push_back(OneTelescopeStripPositionY); + m_StripPositionZ.push_back(OneTelescopeStripPositionZ); +} + +TVector3 TMugastPhysics::GetPositionOfInteraction(const int i) const { + TVector3 Position + = TVector3(GetStripPositionX(TelescopeNumber[i], DSSD_X[i], DSSD_Y[i]), + GetStripPositionY(TelescopeNumber[i], DSSD_X[i], DSSD_Y[i]), + GetStripPositionZ(TelescopeNumber[i], DSSD_X[i], DSSD_Y[i])); + + return (Position); +} + +TVector3 TMugastPhysics::GetTelescopeNormal(const int i) const { + TVector3 U = TVector3(GetStripPositionX(TelescopeNumber[i], 128, 1), + GetStripPositionY(TelescopeNumber[i], 128, 1), + GetStripPositionZ(TelescopeNumber[i], 128, 1)) + + - TVector3(GetStripPositionX(TelescopeNumber[i], 1, 1), + GetStripPositionY(TelescopeNumber[i], 1, 1), + GetStripPositionZ(TelescopeNumber[i], 1, 1)); + + TVector3 V = TVector3(GetStripPositionX(TelescopeNumber[i], 128, 128), + GetStripPositionY(TelescopeNumber[i], 128, 128), + GetStripPositionZ(TelescopeNumber[i], 128, 128)) + + - TVector3(GetStripPositionX(TelescopeNumber[i], 128, 1), + GetStripPositionY(TelescopeNumber[i], 128, 1), + GetStripPositionZ(TelescopeNumber[i], 128, 1)); + + TVector3 Normal = U.Cross(V); + + return (Normal.Unit()); +} + +/////////////////////////////////////////////////////////////////////////// +namespace MUST2_LOCAL { +// DSSD +// X +double fDSSD_X_E(const TMugastData* m_EventData, const int& i) { + static string name; + name = "MUST2/T"; + name += NPL::itoa(m_EventData->GetDSSDXEDetectorNbr(i)); + name += "_DSSD_X"; + name += NPL::itoa(m_EventData->GetDSSDXEStripNbr(i)); + name += "_E"; + return CalibrationManager::getInstance()->ApplyCalibration( + name, m_EventData->GetDSSDXEEnergy(i)); +} + +double fDSSD_X_T(const TMugastData* m_EventData, const int& i) { + static string name; + name = "MUST2/T"; + name += NPL::itoa(m_EventData->GetDSSDXTDetectorNbr(i)); + name += "_DSSD_X"; + name += NPL::itoa(m_EventData->GetDSSDXTStripNbr(i)); + name += "_T"; + return CalibrationManager::getInstance()->ApplyCalibration( + name, m_EventData->GetDSSDXTTime(i)); +} + +// Y +double fDSSD_Y_E(const TMugastData* m_EventData, const int& i) { + static string name; + name = "MUST2/T"; + name += NPL::itoa(m_EventData->GetDSSDYEDetectorNbr(i)); + name += "_DSSD_Y"; + name += NPL::itoa(m_EventData->GetDSSDYEStripNbr(i)); + name += "_E"; + return CalibrationManager::getInstance()->ApplyCalibration( + name, m_EventData->GetDSSDYEEnergy(i)); +} + +double fDSSD_Y_T(const TMugastData* m_EventData, const int& i) { + static string name; + name = "MUST2/T"; + name += NPL::itoa(m_EventData->GetDSSDYTDetectorNbr(i)); + name += "_DSSD_Y"; + name += NPL::itoa(m_EventData->GetDSSDYTStripNbr(i)); + name += "_T"; + return CalibrationManager::getInstance()->ApplyCalibration( + name, m_EventData->GetDSSDYTTime(i)); +} + +// SecondLayer +double fSecondLayer_E(const TMugastData* m_EventData, const int& i) { + static string name; + name = "MUST2/T"; + name += NPL::itoa(m_EventData->GetSecondLayerEDetectorNbr(i)); + name += "_SecondLayer"; + name += NPL::itoa(m_EventData->GetSecondLayerEStripNbr(i)); + name += "_E"; + return CalibrationManager::getInstance()->ApplyCalibration( + name, m_EventData->GetSecondLayerEEnergy(i)); +} + +double fSecondLayer_T(const TMugastData* m_EventData, const int& i) { + static string name; + name = "MUST2/T"; + name += NPL::itoa(m_EventData->GetSecondLayerTDetectorNbr(i)); + name += "_SecondLayer"; + name += NPL::itoa(m_EventData->GetSecondLayerTStripNbr(i)); + name += "_T"; + return CalibrationManager::getInstance()->ApplyCalibration( + name, m_EventData->GetSecondLayerTTime(i)); +} +} + +//////////////////////////////////////////////////////////////////////////////// +// Construct Method to be pass to the DetectorFactory // +//////////////////////////////////////////////////////////////////////////////// +NPL::VDetector* TMugastPhysics::Construct() { + return (NPL::VDetector*)new TMugastPhysics(); +} + +//////////////////////////////////////////////////////////////////////////////// +// Registering the construct method to the factory // +//////////////////////////////////////////////////////////////////////////////// +extern "C" { +class proxy_must2 { + public: + proxy_must2() { + NPL::DetectorFactory::getInstance()->AddToken("Mugast", "Mugast"); + NPL::DetectorFactory::getInstance()->AddDetector("Mugast", + TMugastPhysics::Construct); + } +}; + +proxy_must2 p_must2; +} diff --git a/NPLib/Detectors/Mugast/TMugastPhysics.h b/NPLib/Detectors/Mugast/TMugastPhysics.h new file mode 100644 index 0000000000000000000000000000000000000000..5749b844bd21f903f2397650f44668e373ddb3f9 --- /dev/null +++ b/NPLib/Detectors/Mugast/TMugastPhysics.h @@ -0,0 +1,271 @@ +#ifndef TMUGASTPHYSICS_H +#define TMUGASTPHYSICS_H +/***************************************************************************** + * Copyright (C) 2009-2016 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: Adrien MATTA contact address: a.matta@surrey.ac.uk * + * * + * Creation Date : febuary 2009 * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: * + * This class hold must2 treated data * + * * + *---------------------------------------------------------------------------* + * Comment: * + * * + * * + * * + *****************************************************************************/ +// STL +#include <map> +#include <vector> +// NPL +#include "NPCalibrationManager.h" +#include "NPInputParser.h" +#include "NPVDetector.h" +#include "TMugastData.h" +//#include "TMugastSpectra.h" +// ROOT +#include "TH1.h" +#include "TObject.h" +#include "TVector2.h" +#include "TVector3.h" + +using namespace std; + +// Forward Declaration +//class TMugastSpectra; + +class TMugastPhysics : public TObject, public NPL::VDetector { + public: + TMugastPhysics(); + ~TMugastPhysics(); + + public: + void Clear(); + void Clear(const Option_t*){}; + + public: + vector<TVector2> Match_X_Y(); + bool Match_SecondLayer(int X, int Y, int StripNbr); + bool ResolvePseudoEvent(); + int CheckEvent(); + + public: + // Provide Physical Multiplicity + Int_t EventMultiplicity; + + // Provide a Classification of Event + vector<int> EventType; + + // Telescope + vector<int> TelescopeNumber; + + // DSSD + vector<double> DSSD_E; + vector<double> DSSD_T; + vector<int> DSSD_X; + vector<int> DSSD_Y; + + // Second Layer + vector<double> SecondLayer_E; + vector<double> SecondLayer_T; + vector<int> SecondLayer_N; + + // Physical Value + vector<double> TotalEnergy; + + public: // Innherited from VDetector Class + // Read stream at ConfigFile to pick-up parameters of detector + // (Position,...) using Token + void ReadConfiguration(NPL::InputParser parser); + + // Add Parameter to the CalibrationManger + void AddParameterToCalibrationManager(); + + // Activated associated Branches and link it to the private member + // DetectorData address + // In this method mother Branches (Detector) AND daughter leaf + // (fDetector_parameter) have to be activated + void InitializeRootInputRaw(); + + // Activated associated Branches and link it to the private member + // DetectorPhysics address + // In this method mother Branches (Detector) AND daughter leaf (parameter) + // have to be activated + void InitializeRootInputPhysics(); + + // Create associated branches and associated private member DetectorPhysics + // address + void InitializeRootOutput(); + + // This method is called at each event read from the Input Tree. Aime is to + // build treat Raw dat in order to extract physical parameter. + void BuildPhysicalEvent(); + + // Same as above, but only the simplest event and/or simple method are used + // (low multiplicity, faster algorythm but less efficient ...). + // This method aimed to be used for analysis performed during experiment, + // when speed is requiered. + // NB: This method can eventually be the same as BuildPhysicalEvent. + void BuildSimplePhysicalEvent(); + + // Same as above but for online analysis + void BuildOnlinePhysicalEvent() { BuildPhysicalEvent(); }; + + // Those two method all to clear the Event Physics or Data + void ClearEventPhysics() { Clear(); } + void ClearEventData() { m_EventData->Clear(); } + + // Method related to the TSpectra classes, aimed at providing a framework for + // online applications + // Instantiate the Spectra class and the histogramm throught it + void InitSpectra(); + // Fill the spectra hold by the spectra class + void FillSpectra(); + // Used for Online mainly, perform check on the histo and for example change + // their color if issues are found + void CheckSpectra(); + // Used for Online only, clear all the spectra hold by the Spectra class + void ClearSpectra(); + + public: // Specific to MUST2 Array + // Clear The PreTeated object + void ClearPreTreatedData() { m_PreTreatedData->Clear(); } + + // Remove bad channel, calibrate the data and apply threshold + void PreTreat(); + + // Return false if the channel is disabled by user + // Frist argument is either 0 for X,1 Y,2 SecondLayer 3 + bool IsValidChannel(const int& DetectorType, const int& telescope, + const int& channel); + + // Initialize the standard parameter for analysis + // ie: all channel enable, maximum multiplicity for strip = number of + // telescope + void InitializeStandardParameter(); + + // Read the user configuration file; if no file found, load standard one + void ReadAnalysisConfig(); + + // Add a Telescope using Corner Coordinate information + void AddTelescope(TVector3 C_X1_Y1, TVector3 C_X128_Y1, TVector3 C_X1_Y128, + TVector3 C_X128_Y128); + + // Add a Telescope using R Theta Phi of Si center information + void AddTelescope(double theta, double phi, double distance, double beta_u, + double beta_v, double beta_w); + + // Use for reading Calibration Run, very simple methods; only apply + // calibration, no condition + void ReadCalibrationRun(); + + // Give and external TMustData object to TMugastPhysics. Needed for online + // analysis for example. + void SetRawDataPointer(void* rawDataPointer) { + m_EventData = (TMugastData*)rawDataPointer; + } + // Retrieve raw and pre-treated data + TMugastData* GetRawData() const { return m_EventData; } + TMugastData* GetPreTreatedData() const { return m_PreTreatedData; } + + // Use to access the strip position + double GetStripPositionX(const int N, const int X, const int Y) const { + return m_StripPositionX[N - 1][X - 1][Y - 1]; + }; + double GetStripPositionY(const int N, const int X, const int Y) const { + return m_StripPositionY[N - 1][X - 1][Y - 1]; + }; + double GetStripPositionZ(const int N, const int X, const int Y) const { + return m_StripPositionZ[N - 1][X - 1][Y - 1]; + }; + + double GetNumberOfTelescope() const { return m_NumberOfTelescope; }; + + // To be called after a build Physical Event + int GetEventMultiplicity() const { return EventMultiplicity; }; + + double GetEnergyDeposit(const int i) const { return TotalEnergy[i]; }; + + TVector3 GetPositionOfInteraction(const int i) const; + TVector3 GetTelescopeNormal(const int i) const; + + private: // Parameter used in the analysis + // By default take EX and TY. + bool m_Take_E_Y; //! + bool m_Take_T_Y; //! + + // Event over this value after pre-treatment are not treated / avoid long + // treatment time on spurious event + unsigned int m_MaximumStripMultiplicityAllowed; //! + // Give the allowance in percent of the difference in energy between X and Y + double m_StripEnergyMatching; //! + + // Raw Threshold + int m_DSSD_X_E_RAW_Threshold; //! + int m_DSSD_Y_E_RAW_Threshold; //! + int m_SecondLayer_E_RAW_Threshold; //! + + // Calibrated Threshold + double m_DSSD_X_E_Threshold; //! + double m_DSSD_Y_E_Threshold; //! + double m_SecondLayer_E_Threshold; //! + + private: // Root Input and Output tree classes + TMugastData* m_EventData; //! + TMugastData* m_PreTreatedData; //! + TMugastPhysics* m_EventPhysics; //! + + private: // Map of activated channel + map<int, vector<bool>> m_XChannelStatus; //! + map<int, vector<bool>> m_YChannelStatus; //! + map<int, vector<bool>> m_SecondLayerChannelStatus; //! + + private: // Spatial Position of Strip Calculated on bases of detector position + int m_NumberOfTelescope; //! + + vector<vector<vector<double>>> m_StripPositionX; //! + vector<vector<vector<double>>> m_StripPositionY; //! + vector<vector<vector<double>>> m_StripPositionZ; //! + + private: + map<int, int> m_HitDSSDX; //! + map<int, int> m_HitDSSDY; //! + + private: // Spectra Class + //TMugastSpectra* m_Spectra; //! + + public: + void WriteSpectra(); //! + + public: // Spectra Getter + map<string, TH1*> GetSpectra(); + + public: // Static constructor to be passed to the Detector Factory + static NPL::VDetector* Construct(); + ClassDef(TMugastPhysics, 1) // MugastPhysics structure +}; + +namespace MUST2_LOCAL { +// DSSD +// X +double fDSSD_X_E(const TMugastData* Data, const int& i); +double fDSSD_X_T(const TMugastData* Data, const int& i); + +// Y +double fDSSD_Y_E(const TMugastData* Data, const int& i); +double fDSSD_Y_T(const TMugastData* Data, const int& i); + +// Second Layer +double fSecondLayer_E(const TMugastData* Data, const int& i); +double fSecondLayer_T(const TMugastData* Data, const int& i); +} + +#endif diff --git a/NPLib/Physics/NPReaction.cxx b/NPLib/Physics/NPReaction.cxx index 8af58373bc4f0f5a5383e98cd8274637f9e1072a..6f21b1d81dcff36daa14325f36e2ada6990f04b2 100644 --- a/NPLib/Physics/NPReaction.cxx +++ b/NPLib/Physics/NPReaction.cxx @@ -171,7 +171,6 @@ Reaction::~Reaction(){ bool Reaction::CheckKinematic(){ double theta = fThetaCM; if (m1 > m2) theta = M_PI - fThetaCM; - fEnergyImpulsionCM_3 = TLorentzVector(pCM_3*sin(theta),0,pCM_3*cos(theta),ECM_3); fEnergyImpulsionCM_4 = fTotalEnergyImpulsionCM - fEnergyImpulsionCM_3; diff --git a/NPLib/Physics/TInitialConditions.h b/NPLib/Physics/TInitialConditions.h index c5ed8984ee7cc98dfcbf924acce85561f71fbf65..045dd431980f9d3abec0276a442d39c2faa1eeaa 100644 --- a/NPLib/Physics/TInitialConditions.h +++ b/NPLib/Physics/TInitialConditions.h @@ -75,7 +75,7 @@ public: void Clear(const Option_t*) {Clear();}; void Dump() const; - ///////////////////// GetTERS //////////////////////// + ///////////////////// SETTERS //////////////////////// // Incident beam parameter void SetIncidentParticleName (const string &Incident_Particle_Name) {fIC_Incident_Particle_Name = Incident_Particle_Name;} void SetIncidentInitialKineticEnergy (const double &Incident_Initial_Kinetic_Energy) diff --git a/NPLib/Physics/TReactionConditions.cxx b/NPLib/Physics/TReactionConditions.cxx index cb6e9d6deade56168fa0b74af29f8093bec42c91..87fd573964d67e51399b87d6d40f182488578acd 100644 --- a/NPLib/Physics/TReactionConditions.cxx +++ b/NPLib/Physics/TReactionConditions.cxx @@ -53,6 +53,7 @@ void TReactionConditions::Clear(){ // emmitted particles fRC_Particle_Name.clear(); fRC_Theta.clear(); + fRC_Phi.clear(); fRC_Kinetic_Energy.clear(); fRC_Momentum_Direction_X.clear(); fRC_Momentum_Direction_Y.clear(); @@ -102,8 +103,8 @@ TVector3 TReactionConditions::GetBeamDirection() const{ cos(fRC_Beam_Emittance_Theta*deg)); } //////////////////////////////////////////////////////////////////////////////// -TVector3 TReactionConditions::GetParticleDirection (const int &i) const { - return TVector3( fRC_Momentum_Direction_X[i], +TVector3 TReactionConditions::GetParticleDirection (const int i) const { + return TVector3(fRC_Momentum_Direction_X[i], fRC_Momentum_Direction_Y[i], fRC_Momentum_Direction_Z[i]); } diff --git a/NPLib/Physics/TReactionConditions.h b/NPLib/Physics/TReactionConditions.h index 2a46cb1ca32368f8a6dd2157dc0c2c752a7bba80..cf8936209fcb6d522ed81b5e819680529c6733b2 100644 --- a/NPLib/Physics/TReactionConditions.h +++ b/NPLib/Physics/TReactionConditions.h @@ -62,6 +62,7 @@ private: // emmitted particles vector<string> fRC_Particle_Name; vector<double> fRC_Theta; + vector<double> fRC_Phi; vector<double> fRC_Kinetic_Energy; vector<double> fRC_Momentum_Direction_X; vector<double> fRC_Momentum_Direction_Y; @@ -95,6 +96,7 @@ public: // emmitted particles void SetParticleName (const string & Particle_Name) {fRC_Particle_Name.push_back(Particle_Name);}//! void SetTheta (const double & Angle) {fRC_Theta.push_back(Angle);}//! + void SetPhi (const double & AnglePhi) {fRC_Phi.push_back(AnglePhi);}//! void SetKineticEnergy (const double & Kinetic_Energy) {fRC_Kinetic_Energy.push_back(Kinetic_Energy);}//! void SetMomentumDirectionX (const double & Momentum_Direction_X) {fRC_Momentum_Direction_X.push_back(Momentum_Direction_X);}//! void SetMomentumDirectionY (const double & Momentum_Direction_Y) {fRC_Momentum_Direction_Y.push_back(Momentum_Direction_Y);}//! @@ -121,23 +123,29 @@ public: int GetParticleMultiplicity() const {return fRC_Kinetic_Energy.size();}//! string GetParticleName (const int &i) const {return fRC_Particle_Name[i];}//! double GetTheta (const int &i) const {return fRC_Theta[i];}//! + double GetPhi (const int &i) const {return fRC_Phi[i];}//! double GetKineticEnergy (const int &i) const {return fRC_Kinetic_Energy[i];}//! double GetMomentumDirectionX (const int &i) const {return fRC_Momentum_Direction_X[i];}//! double GetMomentumDirectionY (const int &i) const {return fRC_Momentum_Direction_Y[i];}//! double GetMomentumDirectionZ (const int &i) const {return fRC_Momentum_Direction_Z[i];}//! - TVector3 GetBeamDirection () const ;//! - TVector3 GetParticleDirection (const int &i) const ;//! + TVector3 GetBeamDirection () const ; + TVector3 GetParticleDirection (const int i) const ; + + + double GetThetaLab_WorldFrame(const int i) const{ + return (GetParticleDirection(i).Theta())/deg; + } - double GetThetaLab_WorldFrame (const int &i) const { - return (GetParticleDirection(i).Angle(TVector3(0,0,1)))/deg; - } //! + double GetPhiLab_WorldFrame (const int i) const { + return (GetParticleDirection(i).Phi())/deg; + } - double GetThetaLab_BeamFrame (const int &i) const{ - return (GetParticleDirection(i).Angle(GetBeamDirection()))/deg; - } //! + double GetThetaLab_BeamFrame (const int i) const{ + return (GetParticleDirection(i).Angle(GetBeamDirection()))/deg; + } - unsigned int GetEmittedMult() const {return fRC_Particle_Name.size();} //! + unsigned int GetEmittedMult() const {return fRC_Particle_Name.size();} ClassDef(TReactionConditions, 1) // TReactionConditions structure }; diff --git a/NPSimulation/Core/Chamber.cc b/NPSimulation/Core/Chamber.cc index ebc00d80068da1d9c06b0e8749d4fea26717b1e3..8f1d79f1334b2e742c113fa44db7d492edbc8c30 100644 --- a/NPSimulation/Core/Chamber.cc +++ b/NPSimulation/Core/Chamber.cc @@ -2157,7 +2157,9 @@ void Chamber::ConstructDetector(G4LogicalVolume* world) case 0 : break; case 1 : yPos -= (7.0*mm + connectorW); + break; case 2 : yPos -= (15.0*mm + connectorW); + break; case 3 : yPos -= (7.0*mm + connectorW); break; } @@ -2298,7 +2300,7 @@ void Chamber::InitializeRootOutput() {} // Read sensitive part and fill the Root tree. -// Called at in the EventAction::EndOfEventAvtion +// Called at in the EventAction::EndOfEventAction void Chamber::ReadSensitive(const G4Event*) {} diff --git a/NPSimulation/Core/MaterialManager.cc b/NPSimulation/Core/MaterialManager.cc index eab3394398afb63e55d122721f745bc54312c1d3..914809ff261903b5d9c99a6bcc12df5055fd3785 100644 --- a/NPSimulation/Core/MaterialManager.cc +++ b/NPSimulation/Core/MaterialManager.cc @@ -25,835 +25,839 @@ #include "MaterialManager.hh" // Geant4 +#include "G4Box.hh" #include "G4Element.hh" #include "G4EmCalculator.hh" -#include "G4Box.hh" -#include "G4PVPlacement.hh" -#include "G4VisAttributes.hh" -#include "G4NistManager.hh" #include "G4MaterialPropertiesTable.hh" +#include "G4NistManager.hh" +#include "G4PVPlacement.hh" #include "G4ParticleTable.hh" +#include "G4VisAttributes.hh" // STL #include <iostream> #include <string> using namespace std; using namespace CLHEP; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -MaterialManager* MaterialManager::instance = 0 ; +MaterialManager* MaterialManager::instance = 0; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -MaterialManager* MaterialManager::getInstance(){ - if(instance == 0) instance = new MaterialManager(); - return instance; +MaterialManager* MaterialManager::getInstance() { + if (instance == 0) + instance = new MaterialManager(); + return instance; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -MaterialManager::~MaterialManager(){ - -} +MaterialManager::~MaterialManager() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -MaterialManager::MaterialManager(){ - m_D = NULL; - m_T = NULL; - m_He3 = NULL; +MaterialManager::MaterialManager() { + m_D = NULL; + m_T = NULL; + m_He3 = NULL; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void MaterialManager::Destroy() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void MaterialManager::Destroy(){ - +void MaterialManager::ClearMaterialLibrary() { + map<string, G4Material*>::iterator it; + for (it = m_Material.begin(); it != m_Material.end(); it++) { + delete it->second; + } + + m_Material.clear(); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +G4Material* MaterialManager::GetMaterialFromLibrary(string Name, + double density) { + // Search if the material is already instantiate + map<string, G4Material*>::iterator it; + it = m_Material.find(Name); + // The element is not found + if (it == m_Material.end()) { -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void MaterialManager::ClearMaterialLibrary(){ - map<string,G4Material*>::iterator it; - for(it = m_Material.begin() ; it != m_Material.end() ; it++){ - delete it->second; + // Usual compound + if (Name == "Vacuum" || Name == "Vaccum" || Name == "Vaccuum" + || Name == "Vacum") { + if (!density) + density = 0.000000001 * mg / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 2); + material->AddElement(GetElementFromLibrary("N"), 7); + material->AddElement(GetElementFromLibrary("O"), 3); + m_Material[Name] = material; + return material; } - - m_Material.clear(); -} + if (Name == "Air") { + if (!density) + density = 1.290 * mg / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 2); + material->AddElement(GetElementFromLibrary("N"), 7); + material->AddElement(GetElementFromLibrary("O"), 3); + m_Material[Name] = material; + return material; + } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ - // Search if the material is already instantiate - map<string,G4Material*>::iterator it; - it = m_Material.find(Name); - - // The element is not found - if(it==m_Material.end()){ - - //Usual compound - if(Name == "Vacuum"||Name=="Vaccum"||Name=="Vaccuum"||Name=="Vacum"){ - if(!density) - density = 0.000000001 * mg / cm3; - G4Material* material = new G4Material("NPS_"+Name, density ,2); - material->AddElement(GetElementFromLibrary("N"),7); - material->AddElement(GetElementFromLibrary("O"),3); - m_Material[Name]=material; - return material; - } - - if(Name == "Air"){ - if(!density) - density = 1.290* mg/cm3; - G4Material* material = new G4Material("NPS_"+Name,density,2); - material->AddElement(GetElementFromLibrary("N"),7); - material->AddElement(GetElementFromLibrary("O"),3); - m_Material[Name]=material; - return material; - } - - - else if(Name == "PCB"){ - if(!density) - density = 1.85 * g / cm3; - // Actually taken value fron Epoxy - G4Material* material = new G4Material("NPS_"+Name,density,3); - material->AddElement(GetElementFromLibrary("H"),.475); - material->AddElement(GetElementFromLibrary("C"),.45); - material->AddElement(GetElementFromLibrary("O"),.075); - m_Material[Name]=material; - return material; - } - - else if(Name == "Epoxy"){ - if(!density) - density = 1.2 * g / cm3; - // Actually taken value fron Epoxy - G4Material* material = new G4Material("NPS_"+Name, density,3); - material->AddElement(GetElementFromLibrary("H"),8); - material->AddElement(GetElementFromLibrary("C"),5); - material->AddElement(GetElementFromLibrary("O"),2); - m_Material[Name]=material; - return material; - } - - else if(Name == "Mylar"){ - if(!density) - density = 1.397*g/cm3; - G4Material* material = new G4Material("NPS_"+Name,density ,3); - material->AddElement(GetElementFromLibrary("H"),8); - material->AddElement(GetElementFromLibrary("C"),10); - material->AddElement(GetElementFromLibrary("O"),4); - m_Material[Name]=material; - return material; - } - - - else if(Name == "Kapton"){ - if(!density) - density = 1.39*g/cm3; - G4Material* material = new G4Material("NPS_"+Name, density,3); - material->AddElement(GetElementFromLibrary("H"),4); - material->AddElement(GetElementFromLibrary("C"),10); - material->AddElement(GetElementFromLibrary("O"),2); - m_Material[Name]=material; - return material; - } - - else if(Name == "Kovar"){ - if(!density) - density = 8*g/cm3; - G4Material* material = new G4Material("NPS_"+Name, density,5); - material->AddElement(GetElementFromLibrary("Ni"),290); - material->AddElement(GetElementFromLibrary("Co"),170); - material->AddElement(GetElementFromLibrary("Si"),2); - material->AddElement(GetElementFromLibrary("Mg"),3); - material->AddElement(GetElementFromLibrary("Fe"),535); - m_Material[Name]=material; - return material; - } - - - else if(Name == "Havar"){ - if(!density) - density = 8.3*g / cm3; - G4Material* material = new G4Material("NPS_"+Name, density,5); - material->AddElement(GetElementFromLibrary("Co"),42); - material->AddElement(GetElementFromLibrary("Cr"),20); - material->AddElement(GetElementFromLibrary("Ni"),13); - material->AddElement(GetElementFromLibrary("Fe"),19); - material->AddElement(GetElementFromLibrary("W"),1); - m_Material[Name]=material; - return material; - } - - else if(Name == "LiF"){ - if(!density) - density = 2.64*g / cm3; - G4Material* material = new G4Material("NPS_"+Name, density,2); - material->AddElement(GetElementFromLibrary("Li"),1); - material->AddElement(GetElementFromLibrary("F"),1); - m_Material[Name]=material; - return material; - } + else if (Name == "PCB") { + if (!density) + density = 1.85 * g / cm3; + // Actually taken value fron Epoxy + G4Material* material = new G4Material("NPS_" + Name, density, 3); + material->AddElement(GetElementFromLibrary("H"), .475); + material->AddElement(GetElementFromLibrary("C"), .45); + material->AddElement(GetElementFromLibrary("O"), .075); + m_Material[Name] = material; + return material; + } - // Cooling - else if(Name == "N2_liquid"){ - if(!density) - density = 0.808*g/cm3; - G4Material* material = new G4Material("NPS_"+Name,7,14.01*g/mole,density, - kStateLiquid,77*kelvin); - m_Material[Name]=material; - return material; - } - - // Usual Target - else if(Name == "CD2"){ - if(!density) - density =1.06*g/cm3; - G4Material* material = new G4Material("NPS_"+Name, density,2); - material->AddElement(GetElementFromLibrary("C"),1); - material->AddElement(GetElementFromLibrary("D"),2); - m_Material[Name]=material; - return material; - } + else if (Name == "Epoxy") { + if (!density) + density = 1.2 * g / cm3; + // Actually taken value fron Epoxy + G4Material* material = new G4Material("NPS_" + Name, density, 3); + material->AddElement(GetElementFromLibrary("H"), 8); + material->AddElement(GetElementFromLibrary("C"), 5); + material->AddElement(GetElementFromLibrary("O"), 2); + m_Material[Name] = material; + return material; + } - else if(Name == "WO3"){ // Tungsten trioxide - if(!density) - density = 5.907*g/cm3; - G4Material* material = new G4Material("NPS_"+Name, density,2); - material->AddElement(GetElementFromLibrary("W"),1); - material->AddElement(GetElementFromLibrary("O"),3); - m_Material[Name]=material; - return material; - } - - else if(Name == "CH2"){ - if(!density) - density = 0.93*g/cm3; - G4Material* material = new G4Material("NPS_"+Name, density,2); - material->AddElement(GetElementFromLibrary("C"),1); - material->AddElement(GetElementFromLibrary("H"),2); - m_Material[Name]=material; - return material; - } - - else if(Name == "Cu"){ - if(!density) - density = 8.96*g/cm3; - G4Material* material = new G4Material("NPS_"+Name, density,1); - material->AddElement(GetElementFromLibrary("Cu"),1); - m_Material[Name]=material; - return material; - } - - else if(Name == "Au"){ - if(!density) - density = 19.3*g/cm3; - G4Material* material = new G4Material("NPS_"+Name,density ,1); - material->AddElement(GetElementFromLibrary("Au"),1); - m_Material[Name]=material; - return material; - } - - else if(Name == "C"){ // Graphite - if(!density) - density = 2.267*g/cm3; - G4Material* material = new G4Material("NPS_"+Name, density,1); - material->AddElement(GetElementFromLibrary("C"),1); - m_Material[Name]=material; - return material; - } - - else if(Name == "Pb"){ - if(!density) - density = 11.342*g / cm3; - G4Material* material = new G4Material("NPS_"+Name, density,1); - material->AddElement(GetElementFromLibrary("Pb"),1); - m_Material[Name]=material; - - return material; - } - - else if(Name == "D2"){ - if(!density) - density = 0.0715*g/cm3; - G4Material* material = new G4Material("NPS_"+Name, density,1); - material->AddElement(GetElementFromLibrary("D"),2); - m_Material[Name]=material; - return material; - } - - else if(Name == "H2"){ - if(!density) - density = 0.0715*g/cm3; - G4Material* material = new G4Material("NPS_"+Name, density,1); - material->AddElement(GetElementFromLibrary("H"),2); - m_Material[Name]=material; - return material; - } - else if(Name == "H2_gas"){ - if(!density) - density = 3.34e-11*g/cm3; - G4Material* material = new G4Material("NPS_"+Name, density,1); - material->AddElement(GetElementFromLibrary("H"),2); - m_Material[Name]=material; - return material; - } - else if(Name == "He_gas"){ - if(!density) - density = 0.0001665*g/cm3; // room temp, 1 atm - G4Material* material = new G4Material("NPS_"+Name, density,1); - material->AddElement(GetElementFromLibrary("He"),1); - m_Material[Name]=material; - return material; - } - else if(Name == "O2_gas"){ - if(!density) - density = 0.001331*g/cm3; // room temp, 1 atm - G4Material* material = new G4Material("NPS_"+Name, density,1); - material->AddElement(GetElementFromLibrary("O"),2); - m_Material[Name]=material; - return material; - } - else if(Name == "Ti"){ - if(!density) - density = 4.5189*g/cm3; - G4Material* material = new G4Material("NPS_"+Name, density,1); - material->AddElement(GetElementFromLibrary("Ti"),1); - m_Material[Name]=material; - return material; - } - // Usual detector material - else if(Name == "Si"){ - if(!density) - density = 2.321*g/cm3; - G4Material* material = new G4Material("NPS_"+Name, density,1); - material->AddElement(GetElementFromLibrary("Si"),1); - - // Adding Optical property: - double* energy_r = new double[2]; - double* rindex = new double[2]; - double* absorption= new double[2]; - - energy_r[0] = 1*eV; - energy_r[1] = 1*MeV; - - rindex[0] = 1 ; rindex[1]=1; - absorption[0] = 1*um ; absorption[1]=1*um; - - G4MaterialPropertiesTable* MPT = new G4MaterialPropertiesTable(); - - // From St Gobain - MPT -> AddProperty("RINDEX",energy_r,rindex,2) ; - MPT -> AddProperty("ABSLENGTH",energy_r,absorption,2); - material -> SetMaterialPropertiesTable(MPT); - - m_Material[Name]=material; - return material; - } - - else if(Name == "Ge"){ - if(!density) - density = 5.323*g/cm3; - G4Material* material = new G4Material("NPS_"+Name, density,1); - material->AddElement(GetElementFromLibrary("Ge"),1); - m_Material[Name]=material; - return material; - } - - else if(Name == "Boric_Oxyde"){ - if(!density) - density = 2.55*g/cm3 ; - G4Material* material = new G4Material("NPS_"+Name, density,2); - material->AddElement(GetElementFromLibrary("B"),2); - material->AddElement(GetElementFromLibrary("O"),3); - m_Material[Name]=material; - return material; - } - - else if(Name == "Sodium_Oxyde"){ - if(!density) - density = 2.27*g/cm3 ; - G4Material* material = new G4Material("NPS_"+Name,density,2); - material->AddElement(GetElementFromLibrary("Na"),2); - material->AddElement(GetElementFromLibrary("O"),1); - m_Material[Name]=material; - return material; - } - - - - else if(Name == "Borosillicate_Glass"){ - if(!density) - density = 2.23*g/cm3 ; - G4Material* material = new G4Material("NPS_"+Name,density,4); - material->AddElement(GetElementFromLibrary("Si"),80*perCent); - G4Material* BO = GetMaterialFromLibrary("Boric_Oxyde"); - material->AddMaterial(BO,13*perCent); - G4Material* NaO = GetMaterialFromLibrary("Sodium_Oxyde"); - material->AddMaterial(NaO,4*perCent); - material->AddElement(GetElementFromLibrary("Al"),3*perCent); - m_Material[Name]=material; - return material; - } - - - else if(Name == "BC400"){ - if(!density) - density = 1.032*g/cm3; - G4Material* material = new G4Material("NPS_"+Name,density,2); - material->AddElement(GetElementFromLibrary("H"),10); - material->AddElement(GetElementFromLibrary("C"),9); - m_Material[Name]=material; - return material; - } - // para-Terphenyl - else if(Name == "para-Terphenyl"){ - if(!density) - density = 1.23*g/cm3; - G4Material* material = new G4Material("NPS_"+Name,density,2); - material->AddElement(GetElementFromLibrary("H"),14); - material->AddElement(GetElementFromLibrary("C"),18); - m_Material[Name]=material; - return material; - } + else if (Name == "Mylar") { + if (!density) + density = 1.397 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 3); + material->AddElement(GetElementFromLibrary("H"), 8); + material->AddElement(GetElementFromLibrary("C"), 10); + material->AddElement(GetElementFromLibrary("O"), 4); + m_Material[Name] = material; + return material; + } + else if (Name == "Kapton") { + if (!density) + density = 1.39 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 3); + material->AddElement(GetElementFromLibrary("H"), 4); + material->AddElement(GetElementFromLibrary("C"), 10); + material->AddElement(GetElementFromLibrary("O"), 2); + m_Material[Name] = material; + return material; + } - else if(Name == "para-Terphenyl_Scintillator"){ - if(!density) - density = 1.23*g/cm3; // good - G4Material* material = new G4Material("NPS_"+Name,density,2); // check - material->AddElement(GetElementFromLibrary("H"),14); // good - material->AddElement(GetElementFromLibrary("C"),18); // good - // Adding Scintillation property: - int NumberOfPoints = 10; // check - double wlmin = 0.25*um; //check - double wlmax = 67*um; //check - double step = (wlmax-wlmin)/NumberOfPoints; - double* energy_r = new double[NumberOfPoints]; - double* rindex = new double[NumberOfPoints]; - double* absorption= new double[NumberOfPoints]; - - double* energy_e = new double[5]; - double* fast = new double[5]; - double* slow = new double[5]; - double* scint = new double[5]; - - //check block below - energy_e[0] = h_Planck*c_light / (450*nm); - energy_e[1] = h_Planck*c_light / (500*nm); - energy_e[2] = h_Planck*c_light / (550*nm); - energy_e[3] = h_Planck*c_light / (600*nm); - energy_e[4] = h_Planck*c_light / (650*nm); - - for(int i=0; i<5; i++){ - //fast[0] = 1 ; fast[1]=1; - //slow[0] = 1 ; slow[1]=1; - fast[i] = 2.1; // good - slow[i] = 22.6; // check - } - // check below block - scint[0] = 0.25; - scint[1] = 0.75; - scint[2] = 1.0; - scint[3] = 0.7; - scint[4] = 0.4; - - double wl; - - // check below block - for(int i = 0 ; i < NumberOfPoints ;i++){ - wl= wlmin+i*step; - // Formula from www.refractiveindex.info - rindex[i]=sqrt(1+0.27587+0.68689/(1-pow(0.130/wl,2)) - +0.26090/(1-pow(0.147/wl,2)) - +0.06256/(1-pow(0.163/wl,2)) - +0.06527/(1-pow(0.177/wl,2)) - +0.14991/(1-pow(0.185/wl,2)) - +0.51818/(1-pow(0.206/wl,2)) - +0.01918/(1-pow(0.218/wl,2)) - +3.38229/(1-pow(161.29/wl,2))) ; - // check below block - energy_r[i] = h_Planck*c_light / wl; - // To be defined properly - absorption[i] = 344.8*cm; - } - - G4MaterialPropertiesTable* MPT = new G4MaterialPropertiesTable(); - - // From St Gobain - MPT -> AddConstProperty("SCINTILLATIONYIELD",27000000/keV); // good - MPT -> AddProperty("SCINTILLATION",energy_e,scint,5) ; // check - MPT -> AddProperty("RINDEX",energy_r,rindex,NumberOfPoints) ; // check - MPT -> AddProperty("ABSLENGTH",energy_r,absorption,NumberOfPoints); // check - MPT->AddProperty("FASTCOMPONENT", energy_e, fast, 2.1); // good - MPT->AddProperty("SLOWCOMPONENT", energy_e, slow, 22.6); // good - MPT->AddConstProperty("RESOLUTIONSCALE",1.0); // check - MPT->AddConstProperty("FASTTIMECONSTANT",1000*ns); // check - MPT->AddConstProperty("SLOWTIMECONSTANT",1000*ns); //check - MPT->AddConstProperty("YIELDRATIO",1.0); // check - material -> SetMaterialPropertiesTable(MPT); // good - m_Material[Name]=material; // good - return material; - } + else if (Name == "Kovar") { + if (!density) + density = 8 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 5); + material->AddElement(GetElementFromLibrary("Ni"), 290); + material->AddElement(GetElementFromLibrary("Co"), 170); + material->AddElement(GetElementFromLibrary("Si"), 2); + material->AddElement(GetElementFromLibrary("Mg"), 3); + material->AddElement(GetElementFromLibrary("Fe"), 535); + m_Material[Name] = material; + return material; + } - else if(Name == "NaI"){ - if(!density) - density = 3.67*g/cm3; - G4Material* material = new G4Material("NPS_"+Name,density,2); - material->AddElement(GetElementFromLibrary("Na"),1); - material->AddElement(GetElementFromLibrary("I"),1); - m_Material[Name]=material; - return material; - } - - else if(Name == "CsI"){ - if(!density) - density = 4.51*g/cm3; - G4Material* material = new G4Material("NPS_"+Name,density,2); - material->AddElement(GetElementFromLibrary("Cs"),1); - material->AddElement(GetElementFromLibrary("I"),1); - m_Material[Name]=material; - return material; - } - - else if(Name == "NaturalUranium"){ - if(!density) - density = 19.1*g/cm3; - G4Material* material = new G4Material("NPS_"+Name,density,1); - material->AddElement(GetElementFromLibrary("U"),1); - m_Material[Name]=material; - return material; - } - - else if(Name == "NaturalTin"){ - if(!density) - density = 7.31*g/cm3; - G4Material* material = new G4Material("NPS_"+Name,density,1); - material->AddElement(GetElementFromLibrary("Sn"),1); - m_Material[Name]=material; - return material; - } - - else if(Name == "CsI_Scintillator"){ - if(!density) - density = 4.51*g/cm3; - G4Material* material = new G4Material("NPS_"+Name,density,2); - material->AddElement(GetElementFromLibrary("Cs"),1); - material->AddElement(GetElementFromLibrary("I"),1); - // Adding Scintillation property: - int NumberOfPoints = 10; - double wlmin = 0.25*um; - double wlmax = 67*um; - double step = (wlmax-wlmin)/NumberOfPoints; - double* energy_r = new double[NumberOfPoints]; - double* rindex = new double[NumberOfPoints]; - double* absorption= new double[NumberOfPoints]; - - double* energy_e = new double[5]; - double* fast = new double[5]; - double* slow = new double[5]; - double* scint = new double[5]; - - energy_e[0] = h_Planck*c_light / (450*nm); - energy_e[1] = h_Planck*c_light / (500*nm); - energy_e[2] = h_Planck*c_light / (550*nm); - energy_e[3] = h_Planck*c_light / (600*nm); - energy_e[4] = h_Planck*c_light / (650*nm); - - for(int i=0; i<5; i++){ - //fast[0] = 1 ; fast[1]=1; - //slow[0] = 1 ; slow[1]=1; - fast[i] = 0.6; - slow[i] = 3.5; - } - scint[0] = 0.25; - scint[1] = 0.75; - scint[2] = 1.0; - scint[3] = 0.7; - scint[4] = 0.4; - - double wl; - - for(int i = 0 ; i < NumberOfPoints ;i++){ - wl= wlmin+i*step; - // Formula from www.refractiveindex.info - rindex[i]=sqrt(1+0.27587+0.68689/(1-pow(0.130/wl,2)) - +0.26090/(1-pow(0.147/wl,2)) - +0.06256/(1-pow(0.163/wl,2)) - +0.06527/(1-pow(0.177/wl,2)) - +0.14991/(1-pow(0.185/wl,2)) - +0.51818/(1-pow(0.206/wl,2)) - +0.01918/(1-pow(0.218/wl,2)) - +3.38229/(1-pow(161.29/wl,2))) ; - - energy_r[i] = h_Planck*c_light / wl; - // To be defined properly - absorption[i] = 344.8*cm; - } - - G4MaterialPropertiesTable* MPT = new G4MaterialPropertiesTable(); - - // From St Gobain - MPT -> AddConstProperty("SCINTILLATIONYIELD",54/keV); - MPT -> AddProperty("SCINTILLATION",energy_e,scint,5) ; - MPT -> AddProperty("RINDEX",energy_r,rindex,NumberOfPoints) ; - MPT -> AddProperty("ABSLENGTH",energy_r,absorption,NumberOfPoints); - MPT->AddProperty("FASTCOMPONENT", energy_e, fast, 5); - MPT->AddProperty("SLOWCOMPONENT", energy_e, slow, 5); - MPT->AddConstProperty("RESOLUTIONSCALE",1.0); - MPT->AddConstProperty("FASTTIMECONSTANT",1000*ns); - MPT->AddConstProperty("SLOWTIMECONSTANT",1000*ns); - MPT->AddConstProperty("YIELDRATIO",1.0); - material -> SetMaterialPropertiesTable(MPT); - m_Material[Name]=material; - return material; - } - - - else if(Name == "LaBr3"){ - if(!density) - density =5.06*g/cm3 ; - G4Material* material = new G4Material("NPS_"+Name,density, 2); - material->AddElement(GetElementFromLibrary("La"),1); - material->AddElement(GetElementFromLibrary("Br"),3); - m_Material[Name]=material; - return material; - } - - else if(Name == "LaBr3_Ce"){ - if(!density) - density =5.29*g/cm3 ; - G4Material* base = GetMaterialFromLibrary("LaBr3"); - G4Material* material = new G4Material("NPS_"+Name,density, 2); - material->AddMaterial(base,95*perCent); - material->AddElement(GetElementFromLibrary("Ce"),5*perCent); - - m_Material[Name]=material; - return material; - } - - - else if(Name == "BaF2"){ - if(!density) - density = 4.89*g/cm3; - G4Material* material = new G4Material("NPS_"+Name,density, 2); - material->AddElement(GetElementFromLibrary("Ba"),1); - material->AddElement(GetElementFromLibrary("F"),2); - m_Material[Name]=material; - return material; - } - - // Misc - else if(Name == "Al"){ - if(!density) - density = 2.702*g/cm3; - G4Material* material = new G4Material("NPS_"+Name,density,1); - material->AddElement(GetElementFromLibrary("Al"),1); - m_Material[Name]=material; - return material; - } - - else if(Name == "Fe"){ - if(!density) - density = 7.874*g/cm3; - G4Material* material = new G4Material("NPS_"+Name,density,1); - material->AddElement(GetElementFromLibrary("Fe"),1); - m_Material[Name]=material; - return material; - } + else if (Name == "Havar") { + if (!density) + density = 8.3 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 5); + material->AddElement(GetElementFromLibrary("Co"), 42); + material->AddElement(GetElementFromLibrary("Cr"), 20); + material->AddElement(GetElementFromLibrary("Ni"), 13); + material->AddElement(GetElementFromLibrary("Fe"), 19); + material->AddElement(GetElementFromLibrary("W"), 1); + m_Material[Name] = material; + return material; + } - else if(Name == "Ta" || Name == "Tantalum"){ - if(!density) - density = 16.601*g/cm3; - G4Material* material = new G4Material("NPS_"+Name,density,1); - material->AddElement(GetElementFromLibrary("Ta"),1); - m_Material[Name]=material; - return material; - } - - else if(Name == "Ca"){ - if(!density) - density = 1.54*g/cm3; - G4Material* material = new G4Material("NPS_"+Name,density,1); - material->AddElement(GetElementFromLibrary("Ca"),1); - m_Material[Name]=material; - return material; - } + else if (Name == "LiF") { + if (!density) + density = 2.64 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 2); + material->AddElement(GetElementFromLibrary("Li"), 1); + material->AddElement(GetElementFromLibrary("F"), 1); + m_Material[Name] = material; + return material; + } - else if(Name == "P10_1atm"){ - if(!density) - density = 1.74*mg/cm3; - G4Material* material = new G4Material("NPS_"+Name,density, 3); //@ 0K, 1 atm - material->AddElement(GetElementFromLibrary("Ar"),0.9222); - material->AddElement(GetElementFromLibrary("C"),0.0623); - material->AddElement(GetElementFromLibrary("H"),0.0155); - m_Material[Name]=material; - return material; - } - - else if(Name == "P10"){ - if(!density) - density = 0.57*mg/cm3; - G4Material* material = new G4Material("NPS_"+Name,density,3); //@ 0K, 1/3 atm - material->AddElement(GetElementFromLibrary("Ar"),0.9222); - material->AddElement(GetElementFromLibrary("C"),0.0623); - material->AddElement(GetElementFromLibrary("H"),0.0155); - m_Material[Name]=material; - return material; - } - - else if(Name == "Air"){ // 1 atm - if(!density) - density = 1.290*mg/cm3; - G4Material* material = new G4Material("NPS_"+Name,density,2); - material->AddElement(GetElementFromLibrary("N"), 0.7); - material->AddElement(GetElementFromLibrary("O"), 0.3); - m_Material[Name]=material; - return material; - } - - else if(Name == "CF4"){ // 52 torr - if(!density) - density = 3.78*mg/cm3; - G4Material* material = new G4Material("NPS_"+Name,density,2,kStateGas,300,0.0693276*bar); - material->AddElement(GetElementFromLibrary("C"), 1); - material->AddElement(GetElementFromLibrary("F"), 4); - m_Material[Name]=material; - return material; - } + // Cooling + else if (Name == "N2_liquid") { + if (!density) + density = 0.808 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, 7, 14.01 * g / mole, + density, kStateLiquid, 77 * kelvin); + m_Material[Name] = material; + return material; + } - else if(Name == "Wood"){ - if(!density) - density = 0.9*mg/cm3; - G4Material* material = new G4Material("NPS_"+Name,density, 3); - material->AddElement(GetElementFromLibrary("H") , 4); - material->AddElement(GetElementFromLibrary("O") , 1); - material->AddElement(GetElementFromLibrary("C") , 2); - m_Material[Name]=material; - return material; - } - - else if(Name == "Pyrex"){ - if(!density) - density = 2.23*g/cm3; - G4Material* material = new G4Material("NPS_"+Name,density, 5); - material->AddElement(GetElementFromLibrary("Si") , 25); - material->AddElement(GetElementFromLibrary("O") , 65); - material->AddElement(GetElementFromLibrary("B") , 7); - material->AddElement(GetElementFromLibrary("Na") , 2); - material->AddElement(GetElementFromLibrary("Al") , 1); - - //--------------------- PMMA optical Properties ---------------------// - const G4int NUMENTRIES=15; - - G4double PMMA_PP[NUMENTRIES] = {10*eV,3.25*eV,3.099*eV, 2.88*eV, 2.695*eV, 2.53*eV, 2.38*eV, - 2.254*eV, 2.138*eV, 2.033*eV, 1.937*eV, 1.859*eV, - 1.771*eV,1.6*eV,0*eV}; - G4double PMMA_RIND[NUMENTRIES] = {1.47,1.47,1.47, 1.47, 1.47, 1.47, 1.47, 1.47, 1.47, 1.47, - 1.47, 1.47, 1.47,1.47,1.47}; - G4double PMMA_ABSL[NUMENTRIES] = {35.*cm,35.*cm,35.*cm, 35.*cm, 35.*cm, 35.*cm, 35.*cm, 35.*cm, - 35.*cm, 35.*cm, 35.*cm, 35.*cm, 35.*cm,35.*cm,35.*cm}; - /*G4double THICK_ABSL[NUMENTRIES] = {0.01*mm,0.01*mm,0.01*mm,0.01*mm,0.01*mm,0.01*mm,0.01*mm,0.01*mm, - 0.01*mm,0.01*mm,0.01*mm,0.01*mm,0.01*mm,0.01*mm,0.01*mm};*/ - - G4MaterialPropertiesTable* myMPT2 = new G4MaterialPropertiesTable(); - myMPT2->AddProperty("RINDEX", PMMA_PP, PMMA_RIND,NUMENTRIES); - myMPT2->AddProperty("ABSLENGTH", PMMA_PP, PMMA_ABSL, NUMENTRIES); - - material->SetMaterialPropertiesTable(myMPT2); - - m_Material[Name]=material; - return material; - } - - else if(Name == "NE213"){ - if(!density) - density = 0.874*g/cm3; - G4Material* material = new G4Material("NPS_"+Name,density, 2); - material->AddElement(GetElementFromLibrary("C") , 5); - material->AddElement(GetElementFromLibrary("H") , 6); - - //--------------------- Optical Properties ---------------------// - const G4int NUMENTRIES=15; - G4double CsI_PP[NUMENTRIES] = {10*eV,3.5*eV,3.25*eV, 3.2*eV ,3.15*eV ,3.099*eV, 3.0*eV, - 2.95*eV, 2.88*eV, - 2.75*eV, 2.695*eV,2.53*eV, 2.38*eV,2.30*eV,0*eV}; - - G4double CsI_SCINT[NUMENTRIES] = {0.0,0.0,0.1, 0.2, 0.4, 0.65, 0.8, 0.95, 0.82, 0.7, 0.5, 0.21, 0.05,0,0}; - - G4double CsI_RIND[NUMENTRIES] = {1.505,1.505,1.505, 1.505, 1.505, 1.505, 1.505, 1.505, 1.505, 1.505, - 1.505, 1.505, 1.505,1.505,1.505}; - G4double CsI_ABSL[NUMENTRIES] = {1.5*m,1.5*m,1.5*m, 1.5*m, 1.5*m, 1.5*m, 1.5*m, 1.5*m, - 1.5*m, 1.5*m, 1.5*m, 1.5*m, 1.5*m,1.5*m,1.5*m}; - - - G4MaterialPropertiesTable* myMPT1 = new G4MaterialPropertiesTable(); - myMPT1->AddProperty("RINDEX", CsI_PP, CsI_RIND,NUMENTRIES); /// Constant? - myMPT1->AddProperty("ABSLENGTH", CsI_PP, CsI_ABSL, NUMENTRIES); // Constant? - myMPT1->AddProperty("FASTCOMPONENT",CsI_PP, CsI_SCINT, NUMENTRIES); //Spectrum - myMPT1->AddProperty("SLOWCOMPONENT",CsI_PP, CsI_SCINT, NUMENTRIES); // Spectrum - - myMPT1->AddConstProperty("SCINTILLATIONYIELD",13000./MeV); - myMPT1->AddConstProperty("RESOLUTIONSCALE",1.0); - myMPT1->AddConstProperty("FASTTIMECONSTANT", 10.3*ns); // Decay time - myMPT1->AddConstProperty("SLOWTIMECONSTANT", 220*ns); - myMPT1->AddConstProperty("YIELDRATIO",0.8); - - material->SetMaterialPropertiesTable(myMPT1); - - m_Material[Name]=material; - return material; - } + // Usual Target + else if (Name == "CD2") { + if (!density) + density = 1.06 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 2); + material->AddElement(GetElementFromLibrary("C"), 1); + material->AddElement(GetElementFromLibrary("D"), 2); + m_Material[Name] = material; + return material; + } - - else{ - G4cout << "ERROR: Material requested \""<< Name <<"\" is not available in the Material Library, trying with NIST" << G4endl; - G4NistManager* man = G4NistManager::Instance(); - return man->FindOrBuildMaterial(Name.c_str()); - } + else if (Name == "WO3") { // Tungsten trioxide + if (!density) + density = 5.907 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 2); + material->AddElement(GetElementFromLibrary("W"), 1); + material->AddElement(GetElementFromLibrary("O"), 3); + m_Material[Name] = material; + return material; } - - else - return it->second; - - return NULL; + + else if (Name == "CH2") { + if (!density) + density = 0.93 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 2); + material->AddElement(GetElementFromLibrary("C"), 1); + material->AddElement(GetElementFromLibrary("H"), 2); + m_Material[Name] = material; + return material; + } + + else if (Name == "Cu") { + if (!density) + density = 8.96 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 1); + material->AddElement(GetElementFromLibrary("Cu"), 1); + m_Material[Name] = material; + return material; + } + + else if (Name == "Au") { + if (!density) + density = 19.3 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 1); + material->AddElement(GetElementFromLibrary("Au"), 1); + m_Material[Name] = material; + return material; + } + + else if (Name == "C") { // Graphite + if (!density) + density = 2.267 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 1); + material->AddElement(GetElementFromLibrary("C"), 1); + m_Material[Name] = material; + return material; + } + + else if (Name == "Pb") { + if (!density) + density = 11.342 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 1); + material->AddElement(GetElementFromLibrary("Pb"), 1); + m_Material[Name] = material; + + return material; + } + + else if (Name == "D2") { + if (!density) + density = 0.0715 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 1); + material->AddElement(GetElementFromLibrary("D"), 2); + m_Material[Name] = material; + return material; + } + + else if (Name == "H2") { + if (!density) + density = 0.0715 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 1); + material->AddElement(GetElementFromLibrary("H"), 2); + m_Material[Name] = material; + return material; + } else if (Name == "H2_gas") { + if (!density) + density = 3.34e-11 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 1); + material->AddElement(GetElementFromLibrary("H"), 2); + m_Material[Name] = material; + return material; + } else if (Name == "He_gas") { + if (!density) + density = 0.0001665 * g / cm3; // room temp, 1 atm + G4Material* material = new G4Material("NPS_" + Name, density, 1); + material->AddElement(GetElementFromLibrary("He"), 1); + m_Material[Name] = material; + return material; + } else if (Name == "O2_gas") { + if (!density) + density = 0.001331 * g / cm3; // room temp, 1 atm + G4Material* material = new G4Material("NPS_" + Name, density, 1); + material->AddElement(GetElementFromLibrary("O"), 2); + m_Material[Name] = material; + return material; + } else if (Name == "Ti") { + if (!density) + density = 4.5189 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 1); + material->AddElement(GetElementFromLibrary("Ti"), 1); + m_Material[Name] = material; + return material; + } + // Usual detector material + else if (Name == "Si") { + if (!density) + density = 2.321 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 1); + material->AddElement(GetElementFromLibrary("Si"), 1); + + // Adding Optical property: + double* energy_r = new double[2]; + double* rindex = new double[2]; + double* absorption = new double[2]; + + energy_r[0] = 1 * eV; + energy_r[1] = 1 * MeV; + + rindex[0] = 1; + rindex[1] = 1; + absorption[0] = 1 * um; + absorption[1] = 1 * um; + + G4MaterialPropertiesTable* MPT = new G4MaterialPropertiesTable(); + + // From St Gobain + MPT->AddProperty("RINDEX", energy_r, rindex, 2); + MPT->AddProperty("ABSLENGTH", energy_r, absorption, 2); + material->SetMaterialPropertiesTable(MPT); + + m_Material[Name] = material; + return material; + } + + else if (Name == "Ge") { + if (!density) + density = 5.323 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 1); + material->AddElement(GetElementFromLibrary("Ge"), 1); + m_Material[Name] = material; + return material; + } + + else if (Name == "Boric_Oxyde") { + if (!density) + density = 2.55 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 2); + material->AddElement(GetElementFromLibrary("B"), 2); + material->AddElement(GetElementFromLibrary("O"), 3); + m_Material[Name] = material; + return material; + } + + else if (Name == "Sodium_Oxyde") { + if (!density) + density = 2.27 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 2); + material->AddElement(GetElementFromLibrary("Na"), 2); + material->AddElement(GetElementFromLibrary("O"), 1); + m_Material[Name] = material; + return material; + } + + else if (Name == "Borosillicate_Glass") { + if (!density) + density = 2.23 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 4); + material->AddElement(GetElementFromLibrary("Si"), 80 * perCent); + G4Material* BO = GetMaterialFromLibrary("Boric_Oxyde"); + material->AddMaterial(BO, 13 * perCent); + G4Material* NaO = GetMaterialFromLibrary("Sodium_Oxyde"); + material->AddMaterial(NaO, 4 * perCent); + material->AddElement(GetElementFromLibrary("Al"), 3 * perCent); + m_Material[Name] = material; + return material; + } + + else if (Name == "BC400") { + if (!density) + density = 1.032 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 2); + material->AddElement(GetElementFromLibrary("H"), 10); + material->AddElement(GetElementFromLibrary("C"), 9); + m_Material[Name] = material; + return material; + } + // para-Terphenyl + else if (Name == "para-Terphenyl") { + if (!density) + density = 1.23 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 2); + material->AddElement(GetElementFromLibrary("H"), 14); + material->AddElement(GetElementFromLibrary("C"), 18); + m_Material[Name] = material; + return material; + } + + else if (Name == "para-Terphenyl_Scintillator") { + if (!density) + density = 1.23 * g / cm3; // good + G4Material* material = new G4Material("NPS_" + Name, density, 2); // check + material->AddElement(GetElementFromLibrary("H"), 14); // good + material->AddElement(GetElementFromLibrary("C"), 18); // good + // Adding Scintillation property: + int NumberOfPoints = 10; // check + double wlmin = 0.25 * um; // check + double wlmax = 67 * um; // check + double step = (wlmax - wlmin) / NumberOfPoints; + double* energy_r = new double[NumberOfPoints]; + double* rindex = new double[NumberOfPoints]; + double* absorption = new double[NumberOfPoints]; + + double* energy_e = new double[5]; + double* fast = new double[5]; + double* slow = new double[5]; + double* scint = new double[5]; + + // check block below + energy_e[0] = h_Planck * c_light / (450 * nm); + energy_e[1] = h_Planck * c_light / (500 * nm); + energy_e[2] = h_Planck * c_light / (550 * nm); + energy_e[3] = h_Planck * c_light / (600 * nm); + energy_e[4] = h_Planck * c_light / (650 * nm); + + for (int i = 0; i < 5; i++) { + // fast[0] = 1 ; fast[1]=1; + // slow[0] = 1 ; slow[1]=1; + fast[i] = 2.1; // good + slow[i] = 22.6; // check + } + // check below block + scint[0] = 0.25; + scint[1] = 0.75; + scint[2] = 1.0; + scint[3] = 0.7; + scint[4] = 0.4; + + double wl; + + // check below block + for (int i = 0; i < NumberOfPoints; i++) { + wl = wlmin + i * step; + // Formula from www.refractiveindex.info + rindex[i] = sqrt(1 + 0.27587 + 0.68689 / (1 - pow(0.130 / wl, 2)) + + 0.26090 / (1 - pow(0.147 / wl, 2)) + + 0.06256 / (1 - pow(0.163 / wl, 2)) + + 0.06527 / (1 - pow(0.177 / wl, 2)) + + 0.14991 / (1 - pow(0.185 / wl, 2)) + + 0.51818 / (1 - pow(0.206 / wl, 2)) + + 0.01918 / (1 - pow(0.218 / wl, 2)) + + 3.38229 / (1 - pow(161.29 / wl, 2))); + // check below block + energy_r[i] = h_Planck * c_light / wl; + // To be defined properly + absorption[i] = 344.8 * cm; + } + + G4MaterialPropertiesTable* MPT = new G4MaterialPropertiesTable(); + + // From St Gobain + MPT->AddConstProperty("SCINTILLATIONYIELD", 27000000 / keV); // good + MPT->AddProperty("SCINTILLATION", energy_e, scint, 5); // check + MPT->AddProperty("RINDEX", energy_r, rindex, NumberOfPoints); // check + MPT->AddProperty("ABSLENGTH", energy_r, absorption, + NumberOfPoints); // check + MPT->AddProperty("FASTCOMPONENT", energy_e, fast, 2.1); // good + MPT->AddProperty("SLOWCOMPONENT", energy_e, slow, 22.6); // good + MPT->AddConstProperty("RESOLUTIONSCALE", 1.0); // check + MPT->AddConstProperty("FASTTIMECONSTANT", 1000 * ns); // check + MPT->AddConstProperty("SLOWTIMECONSTANT", 1000 * ns); // check + MPT->AddConstProperty("YIELDRATIO", 1.0); // check + material->SetMaterialPropertiesTable(MPT); // good + m_Material[Name] = material; // good + return material; + } + + else if (Name == "NaI") { + if (!density) + density = 3.67 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 2); + material->AddElement(GetElementFromLibrary("Na"), 1); + material->AddElement(GetElementFromLibrary("I"), 1); + m_Material[Name] = material; + return material; + } + + else if (Name == "CsI") { + if (!density) + density = 4.51 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 2); + material->AddElement(GetElementFromLibrary("Cs"), 1); + material->AddElement(GetElementFromLibrary("I"), 1); + m_Material[Name] = material; + return material; + } + + else if (Name == "NaturalUranium") { + if (!density) + density = 19.1 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 1); + material->AddElement(GetElementFromLibrary("U"), 1); + m_Material[Name] = material; + return material; + } + + else if (Name == "NaturalTin") { + if (!density) + density = 7.31 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 1); + material->AddElement(GetElementFromLibrary("Sn"), 1); + m_Material[Name] = material; + return material; + } + + else if (Name == "CsI_Scintillator") { + if (!density) + density = 4.51 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 2); + material->AddElement(GetElementFromLibrary("Cs"), 1); + material->AddElement(GetElementFromLibrary("I"), 1); + // Adding Scintillation property: + int NumberOfPoints = 10; + double wlmin = 0.25 * um; + double wlmax = 67 * um; + double step = (wlmax - wlmin) / NumberOfPoints; + double* energy_r = new double[NumberOfPoints]; + double* rindex = new double[NumberOfPoints]; + double* absorption = new double[NumberOfPoints]; + + double* energy_e = new double[5]; + double* fast = new double[5]; + double* slow = new double[5]; + double* scint = new double[5]; + + energy_e[0] = h_Planck * c_light / (450 * nm); + energy_e[1] = h_Planck * c_light / (500 * nm); + energy_e[2] = h_Planck * c_light / (550 * nm); + energy_e[3] = h_Planck * c_light / (600 * nm); + energy_e[4] = h_Planck * c_light / (650 * nm); + + for (int i = 0; i < 5; i++) { + // fast[0] = 1 ; fast[1]=1; + // slow[0] = 1 ; slow[1]=1; + fast[i] = 0.6; + slow[i] = 3.5; + } + scint[0] = 0.25; + scint[1] = 0.75; + scint[2] = 1.0; + scint[3] = 0.7; + scint[4] = 0.4; + + double wl; + + for (int i = 0; i < NumberOfPoints; i++) { + wl = wlmin + i * step; + // Formula from www.refractiveindex.info + rindex[i] = sqrt(1 + 0.27587 + 0.68689 / (1 - pow(0.130 / wl, 2)) + + 0.26090 / (1 - pow(0.147 / wl, 2)) + + 0.06256 / (1 - pow(0.163 / wl, 2)) + + 0.06527 / (1 - pow(0.177 / wl, 2)) + + 0.14991 / (1 - pow(0.185 / wl, 2)) + + 0.51818 / (1 - pow(0.206 / wl, 2)) + + 0.01918 / (1 - pow(0.218 / wl, 2)) + + 3.38229 / (1 - pow(161.29 / wl, 2))); + + energy_r[i] = h_Planck * c_light / wl; + // To be defined properly + absorption[i] = 344.8 * cm; + } + + G4MaterialPropertiesTable* MPT = new G4MaterialPropertiesTable(); + + // From St Gobain + MPT->AddConstProperty("SCINTILLATIONYIELD", 54 / keV); + MPT->AddProperty("SCINTILLATION", energy_e, scint, 5); + MPT->AddProperty("RINDEX", energy_r, rindex, NumberOfPoints); + MPT->AddProperty("ABSLENGTH", energy_r, absorption, NumberOfPoints); + MPT->AddProperty("FASTCOMPONENT", energy_e, fast, 5); + MPT->AddProperty("SLOWCOMPONENT", energy_e, slow, 5); + MPT->AddConstProperty("RESOLUTIONSCALE", 1.0); + MPT->AddConstProperty("FASTTIMECONSTANT", 1000 * ns); + MPT->AddConstProperty("SLOWTIMECONSTANT", 1000 * ns); + MPT->AddConstProperty("YIELDRATIO", 1.0); + material->SetMaterialPropertiesTable(MPT); + m_Material[Name] = material; + return material; + } + + else if (Name == "LaBr3") { + if (!density) + density = 5.06 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 2); + material->AddElement(GetElementFromLibrary("La"), 1); + material->AddElement(GetElementFromLibrary("Br"), 3); + m_Material[Name] = material; + return material; + } + + else if (Name == "LaBr3_Ce") { + if (!density) + density = 5.29 * g / cm3; + G4Material* base = GetMaterialFromLibrary("LaBr3"); + G4Material* material = new G4Material("NPS_" + Name, density, 2); + material->AddMaterial(base, 95 * perCent); + material->AddElement(GetElementFromLibrary("Ce"), 5 * perCent); + + m_Material[Name] = material; + return material; + } + + else if (Name == "BaF2") { + if (!density) + density = 4.89 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 2); + material->AddElement(GetElementFromLibrary("Ba"), 1); + material->AddElement(GetElementFromLibrary("F"), 2); + m_Material[Name] = material; + return material; + } + + // Misc + else if (Name == "Al") { + if (!density) + density = 2.702 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 1); + material->AddElement(GetElementFromLibrary("Al"), 1); + m_Material[Name] = material; + return material; + } + + else if (Name == "Fe") { + if (!density) + density = 7.874 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 1); + material->AddElement(GetElementFromLibrary("Fe"), 1); + m_Material[Name] = material; + return material; + } + + else if (Name == "Ta" || Name == "Tantalum") { + if (!density) + density = 16.601 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 1); + material->AddElement(GetElementFromLibrary("Ta"), 1); + m_Material[Name] = material; + return material; + } + + else if (Name == "Ca") { + if (!density) + density = 1.54 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 1); + material->AddElement(GetElementFromLibrary("Ca"), 1); + m_Material[Name] = material; + return material; + } + + else if (Name == "P10_1atm") { + if (!density) + density = 1.74 * mg / cm3; + G4Material* material + = new G4Material("NPS_" + Name, density, 3); //@ 0K, 1 atm + material->AddElement(GetElementFromLibrary("Ar"), 0.9222); + material->AddElement(GetElementFromLibrary("C"), 0.0623); + material->AddElement(GetElementFromLibrary("H"), 0.0155); + m_Material[Name] = material; + return material; + } + + else if (Name == "P10") { + if (!density) + density = 0.57 * mg / cm3; + G4Material* material + = new G4Material("NPS_" + Name, density, 3); //@ 0K, 1/3 atm + material->AddElement(GetElementFromLibrary("Ar"), 0.9222); + material->AddElement(GetElementFromLibrary("C"), 0.0623); + material->AddElement(GetElementFromLibrary("H"), 0.0155); + m_Material[Name] = material; + return material; + } + + else if (Name == "Air") { // 1 atm + if (!density) + density = 1.290 * mg / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 2); + material->AddElement(GetElementFromLibrary("N"), 0.7); + material->AddElement(GetElementFromLibrary("O"), 0.3); + m_Material[Name] = material; + return material; + } + + else if (Name == "CF4") { // 52 torr + if (!density) + density = 3.78 * mg / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 2, + kStateGas, 300, 0.0693276 * bar); + material->AddElement(GetElementFromLibrary("C"), 1); + material->AddElement(GetElementFromLibrary("F"), 4); + m_Material[Name] = material; + return material; + } + + else if (Name == "Wood") { + if (!density) + density = 0.9 * mg / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 3); + material->AddElement(GetElementFromLibrary("H"), 4); + material->AddElement(GetElementFromLibrary("O"), 1); + material->AddElement(GetElementFromLibrary("C"), 2); + m_Material[Name] = material; + return material; + } + + else if (Name == "Pyrex") { + if (!density) + density = 2.23 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 5); + material->AddElement(GetElementFromLibrary("Si"), 25); + material->AddElement(GetElementFromLibrary("O"), 65); + material->AddElement(GetElementFromLibrary("B"), 7); + material->AddElement(GetElementFromLibrary("Na"), 2); + material->AddElement(GetElementFromLibrary("Al"), 1); + + //--------------------- PMMA optical Properties ---------------------// + const G4int NUMENTRIES = 15; + + G4double PMMA_PP[NUMENTRIES] + = {10 * eV, 3.25 * eV, 3.099 * eV, 2.88 * eV, 2.695 * eV, + 2.53 * eV, 2.38 * eV, 2.254 * eV, 2.138 * eV, 2.033 * eV, + 1.937 * eV, 1.859 * eV, 1.771 * eV, 1.6 * eV, 0 * eV}; + G4double PMMA_RIND[NUMENTRIES] + = {1.47, 1.47, 1.47, 1.47, 1.47, 1.47, 1.47, 1.47, + 1.47, 1.47, 1.47, 1.47, 1.47, 1.47, 1.47}; + G4double PMMA_ABSL[NUMENTRIES] + = {35. * cm, 35. * cm, 35. * cm, 35. * cm, 35. * cm, + 35. * cm, 35. * cm, 35. * cm, 35. * cm, 35. * cm, + 35. * cm, 35. * cm, 35. * cm, 35. * cm, 35. * cm}; + /*G4double THICK_ABSL[NUMENTRIES] = + {0.01*mm,0.01*mm,0.01*mm,0.01*mm,0.01*mm,0.01*mm,0.01*mm,0.01*mm, + 0.01*mm,0.01*mm,0.01*mm,0.01*mm,0.01*mm,0.01*mm,0.01*mm};*/ + + G4MaterialPropertiesTable* myMPT2 = new G4MaterialPropertiesTable(); + myMPT2->AddProperty("RINDEX", PMMA_PP, PMMA_RIND, NUMENTRIES); + myMPT2->AddProperty("ABSLENGTH", PMMA_PP, PMMA_ABSL, NUMENTRIES); + + material->SetMaterialPropertiesTable(myMPT2); + + m_Material[Name] = material; + return material; + } + + else if (Name == "NE213") { + if (!density) + density = 0.874 * g / cm3; + G4Material* material = new G4Material("NPS_" + Name, density, 2); + material->AddElement(GetElementFromLibrary("C"), 5); + material->AddElement(GetElementFromLibrary("H"), 6); + + //--------------------- Optical Properties ---------------------// + const G4int NUMENTRIES = 15; + G4double CsI_PP[NUMENTRIES] + = {10 * eV, 3.5 * eV, 3.25 * eV, 3.2 * eV, 3.15 * eV, + 3.099 * eV, 3.0 * eV, 2.95 * eV, 2.88 * eV, 2.75 * eV, + 2.695 * eV, 2.53 * eV, 2.38 * eV, 2.30 * eV, 0 * eV}; + + G4double CsI_SCINT[NUMENTRIES] + = {0.0, 0.0, 0.1, 0.2, 0.4, 0.65, 0.8, 0.95, + 0.82, 0.7, 0.5, 0.21, 0.05, 0, 0}; + + G4double CsI_RIND[NUMENTRIES] + = {1.505, 1.505, 1.505, 1.505, 1.505, 1.505, 1.505, 1.505, + 1.505, 1.505, 1.505, 1.505, 1.505, 1.505, 1.505}; + G4double CsI_ABSL[NUMENTRIES] + = {1.5 * m, 1.5 * m, 1.5 * m, 1.5 * m, 1.5 * m, + 1.5 * m, 1.5 * m, 1.5 * m, 1.5 * m, 1.5 * m, + 1.5 * m, 1.5 * m, 1.5 * m, 1.5 * m, 1.5 * m}; + + G4MaterialPropertiesTable* myMPT1 = new G4MaterialPropertiesTable(); + myMPT1->AddProperty("RINDEX", CsI_PP, CsI_RIND, NUMENTRIES); /// Constant? + myMPT1->AddProperty("ABSLENGTH", CsI_PP, CsI_ABSL, + NUMENTRIES); // Constant? + myMPT1->AddProperty("FASTCOMPONENT", CsI_PP, CsI_SCINT, + NUMENTRIES); // Spectrum + myMPT1->AddProperty("SLOWCOMPONENT", CsI_PP, CsI_SCINT, + NUMENTRIES); // Spectrum + + myMPT1->AddConstProperty("SCINTILLATIONYIELD", 13000. / MeV); + myMPT1->AddConstProperty("RESOLUTIONSCALE", 1.0); + myMPT1->AddConstProperty("FASTTIMECONSTANT", 10.3 * ns); // Decay time + myMPT1->AddConstProperty("SLOWTIMECONSTANT", 220 * ns); + myMPT1->AddConstProperty("YIELDRATIO", 0.8); + + material->SetMaterialPropertiesTable(myMPT1); + + m_Material[Name] = material; + return material; + } + + else { + G4cout << "ERROR: Material requested \"" << Name + << "\" is not available in the Material Library, trying with NIST" + << G4endl; + G4NistManager* man = G4NistManager::Instance(); + return man->FindOrBuildMaterial(Name.c_str()); + } + } + + else + return it->second; + + return NULL; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void MaterialManager::AddMaterialToLibrary(G4Material* material){ - m_Material[material->GetName()]=material; +void MaterialManager::AddMaterialToLibrary(G4Material* material) { + m_Material[material->GetName()] = material; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4Element* MaterialManager::GetElementFromLibrary(string Name){ - if(Name=="D" || Name=="d"){ - if(!m_D){ - m_D = new G4Element(Name.c_str(), Name.c_str(),1); - G4Isotope* isotope = new G4Isotope(Name.c_str(), 1,2,2.01410178*g/mole); - m_D->AddIsotope(isotope,1); - } - return m_D; +G4Element* MaterialManager::GetElementFromLibrary(string Name) { + if (Name == "D" || Name == "d") { + if (!m_D) { + m_D = new G4Element(Name.c_str(), Name.c_str(), 1); + G4Isotope* isotope + = new G4Isotope(Name.c_str(), 1, 2, 2.01410178 * g / mole); + m_D->AddIsotope(isotope, 1); } - - else if(Name=="T" || Name=="t"){ - if(!m_T){ - m_T = new G4Element(Name.c_str(), Name.c_str(),1); - G4Isotope* isotope = new G4Isotope(Name.c_str(), 1,3,3.0160492*g/mole); - m_T->AddIsotope(isotope,1); - } - return m_T; + return m_D; + } + + else if (Name == "T" || Name == "t") { + if (!m_T) { + m_T = new G4Element(Name.c_str(), Name.c_str(), 1); + G4Isotope* isotope + = new G4Isotope(Name.c_str(), 1, 3, 3.0160492 * g / mole); + m_T->AddIsotope(isotope, 1); } - - else if(Name=="He3" || Name=="3He"){ - if(!m_He3){ - m_He3 = new G4Element(Name.c_str(), Name.c_str(),1); - G4Isotope* isotope = new G4Isotope(Name.c_str(), 2,1,3.0160293*g/mole); - m_He3->AddIsotope(isotope,1); - } - return m_He3; + return m_T; + } + + else if (Name == "He3" || Name == "3He") { + if (!m_He3) { + m_He3 = new G4Element(Name.c_str(), Name.c_str(), 1); + G4Isotope* isotope + = new G4Isotope(Name.c_str(), 2, 1, 3.0160293 * g / mole); + m_He3->AddIsotope(isotope, 1); } - - G4NistManager* man = G4NistManager::Instance(); - return man->FindOrBuildElement(Name.c_str()); - + return m_He3; + } + + G4NistManager* man = G4NistManager::Instance(); + return man->FindOrBuildElement(Name.c_str()); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -946,72 +950,85 @@ G4Material* MaterialManager::GetGasFromLibrary(string Name, double Pressure, dou //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // Generate a DEDX file table using the material used in the geometry -void MaterialManager::WriteDEDXTable(G4ParticleDefinition* Particle ,G4double Emin,G4double Emax){ - map<string,G4Material*>::iterator it; - if(Particle->GetPDGCharge()==0) - return; - for(it = m_Material.begin() ; it != m_Material.end() ; it++){ - // Opening hte output file - G4String GlobalPath = getenv("NPTOOL"); - G4String Name = it->second->GetName(); - // Remove NPS name - Name.erase(0,4); - G4String Path = GlobalPath + "/Inputs/EnergyLoss/" + Particle->GetParticleName() + "_" + Name + ".G4table"; - - ofstream File ; - File.open(Path) ; - - if(!File) return ; - - File << "Table from Geant4 generate using NPSimulation \t" - << "Particle: " << Particle->GetParticleName() << "\tMaterial: " << it->second->GetName() << G4endl ; - // G4cout << Particle->GetParticleName() << "\tMaterial: " << it->second->GetName() <<endl; - - G4EmCalculator emCalculator; - G4double dedx ; - // Tipical Range needed, if Emax is larger, then adapted - if(Emax < 1*TeV) Emax = 1*TeV; - double step = 1*keV; - double before = 0 ; - - for (G4double E=Emin; E < Emax; E+=step){ - dedx = emCalculator.ComputeTotalDEDX(E, Particle, it->second)/(MeV/micrometer); - if(before){ - if(abs(before-dedx)/abs(before)<0.01) step*=2; - } - - before = dedx; - File << E/MeV << "\t" << dedx << G4endl ; - } - - File.close(); +void MaterialManager::WriteDEDXTable(G4ParticleDefinition* Particle, + G4double Emin, G4double Emax) { + map<string, G4Material*>::iterator it; + if (Particle->GetPDGCharge() == 0) + return; + for (it = m_Material.begin(); it != m_Material.end(); it++) { + // Opening hte output file + G4String GlobalPath = getenv("NPTOOL"); + G4String Name = it->second->GetName(); + // Remove NPS name + Name.erase(0, 4); + G4String Path = GlobalPath + "/Inputs/EnergyLoss/" + + Particle->GetParticleName() + "_" + Name + ".G4table"; + + ofstream File; + File.open(Path); + + if (!File) + return; + + File << "Table from Geant4 generate using NPSimulation \t" + << "Particle: " << Particle->GetParticleName() + << "\tMaterial: " << it->second->GetName() << G4endl; + // G4cout << Particle->GetParticleName() << "\tMaterial: " << + // it->second->GetName() <<endl; + + G4EmCalculator emCalculator; + G4double dedx; + // Tipical Range needed, if Emax is larger, then adapted + if (Emax < 1 * TeV) + Emax = 1 * TeV; + double step = 1 * keV; + double before = 0; + + for (G4double E = Emin; E < Emax; E += step) { + dedx = emCalculator.ComputeTotalDEDX(E, Particle, it->second) + / (MeV / micrometer); + if (before) { + if (abs(before - dedx) / abs(before) < 0.01) + step *= 2; + } + + before = dedx; + File << E / MeV << "\t" << dedx << G4endl; } + + File.close(); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // Generate a DEDX file table using the material used in the geometry -void MaterialManager::WriteDEDXTable(std::set<string> Particle ,G4double Emin,G4double Emax){ +void MaterialManager::WriteDEDXTable(std::set<string> Particle, G4double Emin, + G4double Emax) { std::set<string>::iterator it; - for(it=Particle.begin(); it!=Particle.end() ; it++){ - G4ParticleDefinition* p = G4ParticleTable::GetParticleTable()->FindParticle((*it)); - WriteDEDXTable(p,Emin,Emax); - } + for (it = Particle.begin(); it != Particle.end(); it++) { + G4ParticleDefinition* p + = G4ParticleTable::GetParticleTable()->FindParticle((*it)); + WriteDEDXTable(p, Emin, Emax); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void MaterialManager::CreateSampleVolumes(G4LogicalVolume* world_log){ - - // Crate a micrometer big cube for each material - G4double SampleSize = 1*um; - G4double WorldSize = 10.0 * m ; - G4Box* sample_box = new G4Box("sample_box",SampleSize ,SampleSize ,SampleSize); - G4int i = 1; - G4double Coord1 = WorldSize-SampleSize; - G4double Coord2 = 0 ; - map<string,G4Material*>::iterator it; - for(it = m_Material.begin() ; it != m_Material.end() ; it++){ - G4LogicalVolume* sample_log = new G4LogicalVolume(sample_box, it->second, "sample_log", 0, 0, 0); - sample_log->SetVisAttributes(G4VisAttributes::Invisible); - Coord2 = WorldSize-i*2*SampleSize; - i++; - new G4PVPlacement(0, G4ThreeVector(Coord1,Coord2,-Coord1), sample_log, "sample", world_log, false, 0); - } -} +void MaterialManager::CreateSampleVolumes(G4LogicalVolume* world_log) { + + // Crate a micrometer big cube for each material + G4double SampleSize = 1 * um; + G4double WorldSize = 10.0 * m; + G4Box* sample_box + = new G4Box("sample_box", SampleSize, SampleSize, SampleSize); + G4int i = 1; + G4double Coord1 = WorldSize - SampleSize; + G4double Coord2 = 0; + map<string, G4Material*>::iterator it; + for (it = m_Material.begin(); it != m_Material.end(); it++) { + G4LogicalVolume* sample_log + = new G4LogicalVolume(sample_box, it->second, "sample_log", 0, 0, 0); + sample_log->SetVisAttributes(G4VisAttributes::Invisible); + Coord2 = WorldSize - i * 2 * SampleSize; + i++; + new G4PVPlacement(0, G4ThreeVector(Coord1, Coord2, -Coord1), sample_log, + "sample", world_log, false, 0); + } +} diff --git a/NPSimulation/Core/Target.cc b/NPSimulation/Core/Target.cc index 1664079998d0a2680d6b13402e4f14398735febf..c11bb2fb2523aa1fabcf89eee6af23301541d49b 100644 --- a/NPSimulation/Core/Target.cc +++ b/NPSimulation/Core/Target.cc @@ -457,7 +457,7 @@ void Target::InitializeRootOutput() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // Read sensitive part and fill the Root tree. -// Called at in the EventAction::EndOfEventAvtion +// Called at in the EventAction::EndOfEventAction void Target::ReadSensitive(const G4Event*) {} diff --git a/NPSimulation/Core/Target.hh b/NPSimulation/Core/Target.hh index 8dee4b73c73ad951ab8e9932404287d6b8212d13..7f0b6e1e3a40b74aec6faa50a7d287e3615b9415 100644 --- a/NPSimulation/Core/Target.hh +++ b/NPSimulation/Core/Target.hh @@ -66,7 +66,7 @@ public: void InitializeRootOutput(); // Read sensitive part and fill the Root tree. - // Called at in the EventAction::EndOfEventAvtion + // Called at in the EventAction::EndOfEventAction void ReadSensitive(const G4Event* event); public: diff --git a/NPSimulation/Detectors/Dali/.emacshist b/NPSimulation/Detectors/Dali/.emacshist deleted file mode 100644 index a26e296372e33165fafa8eb439a49d7a4ec98dfa..0000000000000000000000000000000000000000 --- a/NPSimulation/Detectors/Dali/.emacshist +++ /dev/null @@ -1,6 +0,0 @@ -;; -*- mode: emacs-lisp; coding: utf-8-unix -*- -;; Minibuffer history file, automatically generated by `savehist'. - -(setq savehist-minibuffer-history-variables '(query-replace-history extended-command-history)) -(setq query-replace-history '("^\\1" "\\^{\\([0-9]?\\)}" "\\^{\\([0-9]?\\)}" "_\\1" "_{\\([0-9]?\\)}" "_{\\([0-9]?\\)}" "_\\1" "_{\\([0_9]?\\)}" "_{\\([0_9]?\\)}" "_\\&" "_{\\([0_9]?\\)}" "_{\\([0_9]?\\)}" "_" "_{1}")) -(setq extended-command-history '("query-replace-regexp" "query-replace" "query-replace-regexp")) diff --git a/NPSimulation/Detectors/Dali/Dali.cc b/NPSimulation/Detectors/Dali/Dali.cc index fc7e58ba6fbecefd74f6e99ff88b48372007ad89..bbf2fa3c32561259e383a8472cd7c41818f2d491 100644 --- a/NPSimulation/Detectors/Dali/Dali.cc +++ b/NPSimulation/Detectors/Dali/Dali.cc @@ -1,18 +1,19 @@ /***************************************************************************** - * Copyright (C) 2009-2018 this file is part of the NPTool Project * + * Copyright (C) 2009-2018 this file is part of the NPTool Project * * * * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * * For the list of contributors see $NPTOOL/Licence/Contributors * *****************************************************************************/ /***************************************************************************** - * Original Author: Elidiano Tronchin contact address: elidiano.tronchin@studenti.unipd.it * + * Original Author: E. Tronchin * + * contact address: elidiano.tronchin@studenti.unipd.it * * * * Creation Date : septembre 2018 * * Last update : * *---------------------------------------------------------------------------* * Decription: * - * This class describe Dali simulation * + * This class describe Dali simulation * * * *---------------------------------------------------------------------------* * Comment: * @@ -23,9 +24,21 @@ #include <sstream> #include <cmath> #include <limits> +using namespace std; + //G4 Geometry object #include "G4Tubs.hh" #include "G4Box.hh" +#include "G4ExtrudedSolid.hh" +#include "G4VSolid.hh" +// #ifndef G4UEXTRUDEDSOLID_hh +// #define G4UEXTRUDEDSOLID_hh +// #include "G4USolid.hh" +// #if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) ) + +//#include "G4UExtrudedSolid.hh" +#include "G4TwoVector.hh" +#include "G4TessellatedSolid.hh" //G4 sensitive #include "G4SDManager.hh" @@ -52,23 +65,20 @@ // CLHEP header #include "CLHEP/Random/RandGauss.h" -using namespace std; using namespace CLHEP; - - - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... namespace Dali_NS{ // Energy and time Resolution const double EnergyThreshold = 0*MeV; const double ResoTime = 0.0*ns; //4.5*ns ; - const double ResoEnergy = 0.001*MeV ; + const double ResoEnergy = 1.36*MeV ; // mean Resolution(FWHM) 1.7% of 80MeV from slides 20170214-SAMURAI34-setup-DALI.pdf // 0.001*MeV ; const double Radius = 50*mm ; const double Width = 49.76*mm ; const double Hight = 84.81*mm ; const double Thickness = 164.82*mm ; + const double LengthPMT = 152.62*mm ; const string Material = "NaI"; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -86,8 +96,8 @@ Dali::Dali(){ Logic_ArrayDali_1 =0; // RGB Color + Transparency - m_VisSquare = new G4VisAttributes(G4Colour(0, 1, 0, 0.5)); - m_VisCylinder = new G4VisAttributes(G4Colour(0, 0, 1, 0.5)); + m_VisSquare = new G4VisAttributes(G4Colour(0, 1, 1, 0.3)); + m_VisCylinder = new G4VisAttributes(G4Colour(0, 0, 1, 0.3)); } @@ -137,7 +147,7 @@ G4LogicalVolume* Dali::BuildSquareDetector(){ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - G4Element* H = new G4Element("Hydrogen","H" , 1., 1.01*g/mole); + //G4Element* H = new G4Element("Hydrogen","H" , 1., 1.01*g/mole); G4Isotope* Mg24 = new G4Isotope ("Mg24", 12, 24, 23.985041*g/mole); G4Isotope* Mg25 = new G4Isotope ("Mg25", 12, 25, 24.985836*g/mole); @@ -166,50 +176,145 @@ G4LogicalVolume* Dali::BuildSquareDetector(){ - - - G4Box* box_3can = new G4Box("Dali_3BoxCan", Dali_NS::Hight*0.5, - Dali_NS::Width*0.5*3, Dali_NS::Thickness*0.5); + Dali_NS::Width*0.5*3, Dali_NS::Thickness*0.5 + Dali_NS::LengthPMT/2.+11.5/2.*mm /*last part is PMTVolume*/ ); G4Material* Aria = MaterialManager::getInstance()->GetMaterialFromLibrary("Air"); Logic_ArrayDali_1 = new G4LogicalVolume(box_3can,Aria,"logic_ArrayDali",0,0,0); - + + Logic_ArrayDali_1->SetVisAttributes(G4VisAttributes(G4Colour(1,1,1, 0.01))); G4Box* box_can = new G4Box("Dali_BoxCan", Dali_NS::Hight*0.5, Dali_NS::Width*0.5, Dali_NS::Thickness*0.5); + + G4Box* box_canandPMT = new G4Box("Dali_BoxCan", Dali_NS::Hight*0.5, + Dali_NS::Width*0.5, Dali_NS::Thickness*0.5 + Dali_NS::LengthPMT/2.+11.5/2.*mm /*last part is PMTVolume*/ ); + + std::vector<G4TwoVector> polygon; + polygon.push_back(G4TwoVector(Dali_NS::Hight*0.5, Dali_NS::Width*0.5*3. ) ) ; + polygon.push_back(G4TwoVector(Dali_NS::Hight*0.5, -Dali_NS::Width*0.5*3. ) ) ; + polygon.push_back(G4TwoVector(-Dali_NS::Hight*0.5, -Dali_NS::Width*0.5*3. ) ) ; + polygon.push_back(G4TwoVector(-Dali_NS::Hight*0.5, Dali_NS::Width*0.5*3. ) ) ; + + // std::vector<ZSection> zsection; + // zsection.push_back(ZSection (Dali_NS::Thickness*0.5, {0,0}, 1. ) ); + // zsection.push_back(ZSection (-Dali_NS::Thickness*0.5-19.5*2.*mm , {0,0}, 1. ) ); + + + G4Box* Extrudedbox_can = new G4Box("Dali_BoxCan", Dali_NS::Hight*0.5,Dali_NS::Width*0.5, Dali_NS::LengthPMT/2.+11.5/2.*mm); + + AriaExtrude = new G4LogicalVolume(Extrudedbox_can,Aria, "logic_Ariaextrude",0,0,0); + G4Material* DetectorCanMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary("Al"); m_SquareDetector_Can = new G4LogicalVolume(box_can,DetectorCanMaterial,"logic_Dali_Can",0,0,0); - G4VisAttributes* Can_Attributes = new G4VisAttributes(G4Colour(0.5,0.5,0.5)); + m_Square2Detector_Can = new G4LogicalVolume(box_canandPMT, Aria,"logic_Dali_CanandPMT",0,0,0); + + + //THE PMT + G4Tubs* AlPMT = new G4Tubs("AlPMT",16.5*mm, 19.5*mm,Dali_NS::LengthPMT/2.,0*deg,360*deg); + G4Tubs* MuPMT = new G4Tubs("MuPMT",16.5*mm,20.*mm,Dali_NS::LengthPMT/2.,0*deg,360*deg); + G4Box* TopPlatePMT = new G4Box("TopPlatePMT", Dali_NS::Hight*0.5-1*mm, + Dali_NS::Width*0.5-1*mm, 11.5/2.*mm ); + G4Tubs* GlassPMT = new G4Tubs("GlassPMT", 0. , 16.5*mm , 11.5/2.*mm ,0*deg,360*deg); + + lAlPMT = new G4LogicalVolume(AlPMT, DetectorCanMaterial ,"lAlPMT",0,0,0); + lMuPMT = new G4LogicalVolume(MuPMT, DetectorCanMaterial ,"lMuPMT",0,0,0); + lTopPlatePMT = new G4LogicalVolume(TopPlatePMT, DetectorCanMaterial ,"lTopPlatePMT",0,0,0); + lGlassPMT = new G4LogicalVolume(GlassPMT , MaterialManager::getInstance()->GetMaterialFromLibrary("Borosillicate_Glass") ,"lGlassPMT",0,0,0); + + + G4VisAttributes* Can_Attributes = new G4VisAttributes(G4Colour(0.5,0.5,0.5, .3)); m_SquareDetector_Can->SetVisAttributes(Can_Attributes); - + m_Square2Detector_Can->SetVisAttributes(G4VisAttributes(G4Colour(1,1,1,0.1))); + + //Extrudedbox_can->SetVisAttributes(Can_Attributes); + lAlPMT->SetVisAttributes(Can_Attributes); + lMuPMT->SetVisAttributes(Can_Attributes); + lTopPlatePMT->SetVisAttributes(Can_Attributes); + G4Box* box_MgO = new G4Box("Dali_BoxMgO", Dali_NS::Hight*0.5-1*mm, - Dali_NS::Width*0.5-1*mm, Dali_NS::Thickness*0.5-1*mm); + Dali_NS::Width*0.5-1*mm, Dali_NS::Thickness*0.5-1*mm); // Size of Al Can but w/o thickness of AlCan m_SquareDetector_CanMgO = new G4LogicalVolume(box_MgO,MgO,"logic_Dali_CanMg0",0,0,0); G4Box* box_crystal = new G4Box("Dali_BoxNaI", Dali_NS::Hight*0.5-2.4*mm, - Dali_NS::Width*0.5-2.4*mm, Dali_NS::Thickness*0.5-2.4*mm); + Dali_NS::Width*0.5-2.4*mm, Dali_NS::Thickness*0.5-2.4*mm); // Size of AlCan but w/o thickness of AlCan and MgO + G4Material* DetectorMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary(Dali_NS::Material); m_SquareDetector_Crystal = new G4LogicalVolume(box_crystal,NaI_Tl,"logic_Dali_Box",0,0,0); G4ThreeVector positionnull = G4ThreeVector(0,0,0); + + + // PMT Volume - + new G4PVPlacement(0, positionnull, + lAlPMT , + "AlPMT", + lMuPMT, + false, + 0); + new G4PVPlacement(0, G4ThreeVector(0,0, -11.5/2.*mm ), + lMuPMT , + "MuPMT", + AriaExtrude, + false, + 0); + + + new G4PVPlacement(0, positionnull, + lGlassPMT, + "GlassPMT", + lTopPlatePMT, + false, + 0); + new G4PVPlacement(0, G4ThreeVector(0,0, Dali_NS::LengthPMT/2. ), + lTopPlatePMT, + "TopPlatePMT", + AriaExtrude, + false, + 0); + + + + new G4PVPlacement(0, G4ThreeVector(0,0, -Dali_NS::Thickness*0.5 ), + AriaExtrude, + "PMTVolume", + m_Square2Detector_Can, + false, + 0); + + + + + new G4PVPlacement(0, G4ThreeVector(0,0, Dali_NS::LengthPMT/2.+11.5/2.*mm ), + m_SquareDetector_Can, + "DetectorVolume", + m_Square2Detector_Can, + false, + 0); + + + + + + // MgO Volume - - G4PVPlacement* physi_MgO = new G4PVPlacement(0, positionnull, + new G4PVPlacement(0, positionnull, m_SquareDetector_CanMgO, "MgO", m_SquareDetector_Can, false, 0); - G4VisAttributes* MgO_Attributes = new G4VisAttributes(G4Colour(0.0,1.0,0.5)); + G4VisAttributes* MgO_Attributes = new G4VisAttributes(G4Colour(1,1,1, .3)); m_SquareDetector_CanMgO->SetVisAttributes(MgO_Attributes); + AriaExtrude->SetVisAttributes(MgO_Attributes); // NaI Volume - - G4PVPlacement* physi_NaI = new G4PVPlacement(0, positionnull, + new G4PVPlacement(0, positionnull, m_SquareDetector_Crystal, - "Crystal NaI", + "CrystalNaI", m_SquareDetector_CanMgO, false, 0); @@ -217,8 +322,18 @@ G4LogicalVolume* Dali::BuildSquareDetector(){ m_SquareDetector_Crystal->SetVisAttributes(m_VisSquare); m_SquareDetector_Crystal->SetSensitiveDetector(m_DaliScorer); - G4VPhysicalVolume* ArrayDali_1 = new G4PVReplica("ArrayDali_1", - m_SquareDetector_Can, + + // new G4PVPlacement(0, positionnull, + // m_SquareDetector_Crystal, + // "CrystalNaI", + // m_SquareDetector_CanMgO, + // false, + // 0); + + + + new G4PVReplica("DaliArrayElement", + m_Square2Detector_Can, Logic_ArrayDali_1 , kYAxis, 3, @@ -227,8 +342,6 @@ G4LogicalVolume* Dali::BuildSquareDetector(){ - - } return Logic_ArrayDali_1; @@ -312,6 +425,8 @@ void Dali::ConstructDetector(G4LogicalVolume* world){ G4double wX = m_R[i] * cos(m_Alpha[i] ) ; G4double wY = m_R[i] * sin(m_Alpha[i] ) ; G4double wZ = m_Zeta[i]; + if(m_Zeta[i]<0) wZ = wZ - Dali_NS::LengthPMT/2.+11.5/2.*mm; + else wZ = wZ + Dali_NS::LengthPMT/2.+11.5/2.*mm; G4ThreeVector Det_pos = G4ThreeVector(wX, wY, wZ) ; @@ -321,8 +436,8 @@ void Dali::ConstructDetector(G4LogicalVolume* world){ - - if(m_Zeta[i]>0){ + Rot->rotateX(180*deg); + if(m_Zeta[i]<0){ Rot->rotateY(180*deg); Rot->rotateZ(m_Alpha[i]); } else{Rot->rotateZ(m_Alpha[i]);} @@ -337,6 +452,8 @@ void Dali::ConstructDetector(G4LogicalVolume* world){ new G4PVPlacement(G4Transform3D(*Rot,Det_pos), BuildSquareDetector(), "Dali",world,false,i+1); + + } } } @@ -379,8 +496,6 @@ void Dali::ReadSensitive(const G4Event* ){ int DetectorNbr = (ArrayNbr-1)*3+DetectinsArrayNbr; m_Event->SetEnergy(DetectorNbr,Energy); m_Event->SetTime(DetectorNbr,Time); - - } } } @@ -390,17 +505,17 @@ void Dali::ReadSensitive(const G4Event* ){ void Dali::InitializeScorers() { // This check is necessary in case the geometry is reloaded bool already_exist = false; - vector<G4int> NestingLevel; - NestingLevel.push_back(2); + vector<int> NestingLevel; NestingLevel.push_back(3); + NestingLevel.push_back(4); m_DaliScorer = CheckScorer("DaliScorer",already_exist) ; - //if(already_exist) - // return ; + if(already_exist) //Necessary? + return ; //Necessary? // Otherwise the scorer is initialised - vector<int> level; level.push_back(0); +// vector<int> level; level.push_back(0); G4VPrimitiveScorer* Calorimeter= new CalorimeterScorers::PS_Calorimeter("Calorimeter", NestingLevel) ; G4VPrimitiveScorer* Interaction= new InteractionScorers::PS_Interactions("Interaction",ms_InterCoord, 0) ; //and register it to the multifunctionnal detector diff --git a/NPSimulation/Detectors/Dali/Dali.cc.~14~ b/NPSimulation/Detectors/Dali/Dali.cc.~14~ deleted file mode 100644 index cedb27ac763944c87dda97b14fc53dc120f35c57..0000000000000000000000000000000000000000 --- a/NPSimulation/Detectors/Dali/Dali.cc.~14~ +++ /dev/null @@ -1,417 +0,0 @@ -/***************************************************************************** - * Copyright (C) 2009-2018 this file is part of the NPTool Project * - * * - * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * - * For the list of contributors see $NPTOOL/Licence/Contributors * - *****************************************************************************/ - -/***************************************************************************** - * Original Author: Elidiano Tronchin contact address: elidiano.tronchin@studenti.unipd.it * - * * - * Creation Date : septembre 2018 * - * Last update : * - *---------------------------------------------------------------------------* - * Decription: * - * This class describe Dali simulation * - * * - *---------------------------------------------------------------------------* - * Comment: * - * * - *****************************************************************************/ - -// C++ headers -#include <sstream> -#include <cmath> -#include <limits> -//G4 Geometry object -#include "G4Tubs.hh" -#include "G4Box.hh" - -//G4 sensitive -#include "G4SDManager.hh" -#include "G4MultiFunctionalDetector.hh" - -//G4 various object -#include "G4Material.hh" -#include "G4Transform3D.hh" -#include "G4PVPlacement.hh" -//#include "G4VPhysicalVolume.hh" -#include "G4PVReplica.hh" -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - -// NPTool header -#include "Dali.hh" -#include "CalorimeterScorers.hh" -#include "InteractionScorers.hh" -#include "RootOutput.h" -#include "MaterialManager.hh" -#include "NPSDetectorFactory.hh" -#include "NPOptionManager.h" -#include "NPSHitsMap.hh" -// CLHEP header -#include "CLHEP/Random/RandGauss.h" - -using namespace std; -using namespace CLHEP; - - - - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -namespace Dali_NS{ - // Energy and time Resolution - const double EnergyThreshold = 0*MeV; - const double ResoTime = 4.5*ns ; - const double ResoEnergy = 0.001*MeV ; - const double Radius = 50*mm ; - const double Width = 49.76*mm ; - const double Hight = 84.81*mm ; - const double Thickness = 164.82*mm ; - const string Material = "NaI"; //Change to drug it with Tl -} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Dali Specific Method -Dali::Dali(){ - m_Event = new TDaliData() ; - m_DaliScorer = 0; - m_SquareDetector = 0; - m_SquareDetector_Can = 0; - m_SquareDetector_CanMgO =0; - m_CylindricalDetector = 0; - m_SquareDetector_Crystal = 0; - Logic_ArrayDali_1 =0; - - // RGB Color + Transparency - m_VisSquare = new G4VisAttributes(G4Colour(0, 1, 0, 0.5)); - m_VisCylinder = new G4VisAttributes(G4Colour(0, 0, 1, 0.5)); - -} - -Dali::~Dali(){ -} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Dali::AddDetector(G4ThreeVector POS, string Shape){ - // Convert the POS value to R theta Phi as Cylindrical coordinate is easier in G4 - m_R.push_back(POS.perp()); - m_Alpha.push_back(POS.phi()); - m_Zeta.push_back(POS.y()); - m_Shape.push_back(Shape); -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Dali::AddDetector(double R, double Theta, double Phi, string Shape){ - - double m_r, m_alpha, m_zeta; - - m_r = R*cos(Phi); - m_alpha = Theta; - m_zeta = R*sin(Phi); - - m_R.push_back(m_r); - m_Alpha.push_back(m_alpha); - m_Zeta.push_back(m_zeta); - m_Shape.push_back(Shape); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Dali::AddDetector2(double R, double Alpha, double Zeta, string Shape){ - m_R.push_back(R); - m_Alpha.push_back(Alpha); - m_Zeta.push_back(Zeta); - m_Shape.push_back(Shape); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - - -G4LogicalVolume* Dali::BuildSquareDetector(){ - if(!m_SquareDetector){ - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - - G4Element* H = new G4Element("Hydrogen","H" , 1., 1.01*g/mole); - - G4Isotope* Mg24 = new G4Isotope ("Mg24", 12, 24, 23.985041*g/mole); - G4Isotope* Mg25 = new G4Isotope ("Mg25", 12, 25, 24.985836*g/mole); - G4Isotope* Mg26 = new G4Isotope ("Mg26", 12, 26, 25.982592*g/mole); - G4Element* Mg= new G4Element("elMagnesium","Mg",3); - Mg->AddIsotope(Mg24, 78.99*perCent); - Mg->AddIsotope(Mg25, 10*perCent); - Mg->AddIsotope(Mg26, 11.01*perCent); - - G4Isotope* O16 = new G4Isotope ("O16", 8, 16, 15.99*g/mole); - G4Isotope* O17 = new G4Isotope ("O17", 8, 17, 17.00*g/mole); - G4Isotope* O18 = new G4Isotope ("O18", 8, 18, 18.00*g/mole); - G4Element* O= new G4Element("elOxygen","O",3); - O->AddIsotope(O16, 99.76*perCent); - O->AddIsotope(O17, 0.04*perCent); - O->AddIsotope(O18, 0.20*perCent); - - G4Material* MgO = new G4Material("MgO",3.6*g/cm3,2); - MgO->AddElement(Mg,1); - MgO->AddElement(O, 1); - - G4Element *elTl = new G4Element("Thallium","Tl",81.,204.383*g/mole ); - G4Material* NaI_Tl = new G4Material("NaI_Tl",3.6667*g/cm3, 2); - NaI_Tl->AddMaterial(MaterialManager::getInstance()->GetMaterialFromLibrary("NaI"),99.6*perCent); - NaI_Tl->AddElement(elTl,0.4*perCent); - - - - - - - G4Box* box_3can = new G4Box("Dali_3BoxCan", Dali_NS::Hight*0.5, - Dali_NS::Width*0.5*3, Dali_NS::Thickness*0.5); - G4Material* Aria = MaterialManager::getInstance()->GetMaterialFromLibrary("Air"); - Logic_ArrayDali_1 = new G4LogicalVolume(box_3can,Aria,"logic_ArrayDali",0,0,0); - - - - G4Box* box_can = new G4Box("Dali_BoxCan", Dali_NS::Hight*0.5, - Dali_NS::Width*0.5, Dali_NS::Thickness*0.5); - G4Material* DetectorCanMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary("Al"); - m_SquareDetector_Can = new G4LogicalVolume(box_can,Aria,"logic_Dali_Can",0,0,0); - G4VisAttributes* Can_Attributes = new G4VisAttributes(G4Colour(0.5,0.5,0.5)); - m_SquareDetector_Can->SetVisAttributes(Can_Attributes); - - G4Box* box_MgO = new G4Box("Dali_BoxMgO", Dali_NS::Hight*0.5-1*mm, - Dali_NS::Width*0.5-1*mm, Dali_NS::Thickness*0.5-1*mm); - - m_SquareDetector_CanMgO = new G4LogicalVolume(box_MgO,Aria,"logic_Dali_CanMg0",0,0,0); - - G4Box* box_crystal = new G4Box("Dali_BoxNaI", Dali_NS::Hight*0.5-2.4*mm, - Dali_NS::Width*0.5-2.4*mm, Dali_NS::Thickness*0.5-2.4*mm); - G4Material* DetectorMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary(Dali_NS::Material); - m_SquareDetector_Crystal = new G4LogicalVolume(box_crystal,NaI_Tl,"logic_Dali_Box",0,0,0); - - G4ThreeVector positionnull = G4ThreeVector(0,0,0); - - // MgO Volume - - G4PVPlacement* physi_MgO = new G4PVPlacement(0, positionnull, - m_SquareDetector_CanMgO, - "MgO", - m_SquareDetector_Can, - false, - 0); - G4VisAttributes* MgO_Attributes = new G4VisAttributes(G4Colour(0.0,1.0,0.5)); - m_SquareDetector_CanMgO->SetVisAttributes(MgO_Attributes); - - - // NaI Volume - - G4PVPlacement* physi_NaI = new G4PVPlacement(0, positionnull, - m_SquareDetector_Crystal, - "Crystal NaI", - m_SquareDetector_CanMgO, - false, - 0); - m_SquareDetector_Crystal->SetVisAttributes(m_VisSquare); - m_SquareDetector_Crystal->SetSensitiveDetector(m_DaliScorer); - - G4VPhysicalVolume* ArrayDali_1 = new G4PVReplica("ArrayDali_1", - m_SquareDetector_Can, - Logic_ArrayDali_1 , - kYAxis, - 3, - Dali_NS::Width, //????????? - 0); - - } - - return Logic_ArrayDali_1; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4LogicalVolume* Dali::BuildCylindricalDetector(){ - if(!m_CylindricalDetector){ - G4Tubs* tub = new G4Tubs("Dali_Cyl",0,Dali_NS::Radius, Dali_NS::Thickness*0.5,0,360*deg); - - G4Material* DetectorMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary(Dali_NS::Material); - m_CylindricalDetector = new G4LogicalVolume(tub,DetectorMaterial,"logic_Dali_tub",0,0,0); - m_CylindricalDetector->SetVisAttributes(m_VisSquare); - m_CylindricalDetector->SetSensitiveDetector(m_DaliScorer); - - } - return m_CylindricalDetector; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Virtual Method of NPS::VDetector class - -// Read stream at Configfile to pick-up parameters of detector (Position,...) -// Called in DetecorConstruction::ReadDetextorConfiguration Method -void Dali::ReadConfiguration(NPL::InputParser parser){ - vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("Dali"); - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << "//// " << blocks.size() << " detectors found " << endl; - - vector<string> cart = {"POS","Shape"}; - vector<string> sphe = {"R","Theta","Phi","Shape"}; - vector<string> cyli = {"R","Alpha","Zeta","Shape"}; - - for(unsigned int i = 0 ; i < blocks.size() ; i++){ - if(blocks[i]->HasTokenList(cart)){ - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << endl << "//// Dali " << i+1 << endl; - - G4ThreeVector Pos = NPS::ConvertVector(blocks[i]->GetTVector3("POS","mm")); - string Shape = blocks[i]->GetString("Shape"); - AddDetector(Pos,Shape); - } - else if(blocks[i]->HasTokenList(sphe)){ - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << endl << "//// Dali " << i+1 << endl; - double R = blocks[i]->GetDouble("R","mm"); - double Theta = blocks[i]->GetDouble("Theta","deg"); - double Phi = blocks[i]->GetDouble("Phi","deg"); - string Shape = blocks[i]->GetString("Shape"); - AddDetector(R,Theta,Phi,Shape); - } - else if(blocks[i]->HasTokenList(cyli)){ - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << endl << "//// Dali " << i+1 << endl; - double R = blocks[i]->GetDouble("R","mm"); - double Alpha = blocks[i]->GetDouble("Alpha","deg"); - double Zeta = blocks[i]->GetDouble("Zeta","mm"); - string Shape = blocks[i]->GetString("Shape"); - AddDetector2(R,Alpha,Zeta,Shape); - } - else{ - cout << "ERROR: check your input file formatting " << endl; - exit(1); - } - } -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -// Construct detector and inialise sensitive part. -// Called After DetecorConstruction::AddDetector Method -void Dali::ConstructDetector(G4LogicalVolume* world){ - - for (unsigned short i = 0 ; i < m_R.size() ; i++) { - - G4double wX = m_R[i] * cos(m_Alpha[i] ) ; - G4double wY = m_R[i] * sin(m_Alpha[i] ) ; - G4double wZ = m_Zeta[i]; - G4ThreeVector Det_pos = G4ThreeVector(wX, wY, wZ) ; - - G4RotationMatrix* Rot = new G4RotationMatrix(); - - if(m_Zeta[i]>0){ - Rot->rotateX(180*deg); Rot->rotateZ(m_Alpha[i]); - } else{Rot->rotateZ(m_Alpha[i]);} - - - if(m_Shape[i] == "Cylindrical"){ - new G4PVPlacement(G4Transform3D(*Rot,Det_pos), - BuildCylindricalDetector(), - "Dali",world,false,i+1); - } - - else if(m_Shape[i] == "Square"){ - new G4PVPlacement(G4Transform3D(*Rot,Det_pos), - BuildSquareDetector(), - "Dali",world,false,i+1); - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Add Detector branch to the EventTree. -// Called After DetecorConstruction::AddDetector Method -void Dali::InitializeRootOutput(){ - RootOutput *pAnalysis = RootOutput::getInstance(); - TTree *pTree = pAnalysis->GetTree(); - if(!pTree->FindBranch("Dali")){ - pTree->Branch("Dali", "TDaliData", &m_Event) ; - } - pTree->SetBranchAddress("Dali", &m_Event) ; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Read sensitive part and fill the Root tree. -// Called at in the EventAction::EndOfEventAvtion -void Dali::ReadSensitive(const G4Event* ){ - m_Event->Clear(); - - /////////// - // Calorimeter scorer - CalorimeterScorers::PS_Calorimeter* Scorer= (CalorimeterScorers::PS_Calorimeter*) m_DaliScorer->GetPrimitive(0); - - unsigned int size = Scorer->GetMult(); - // cout << "size " << size << endl; - for(unsigned int i = 0 ; i < size ; i++){ - vector<unsigned int> level = Scorer->GetLevel(i); - double Energy = RandGauss::shoot(Scorer->GetEnergy(i),Dali_NS::ResoEnergy); - // cout << Energy << endl; - if(Energy>Dali_NS::EnergyThreshold){ - double Time = RandGauss::shoot(Scorer->GetTime(i),Dali_NS::ResoTime); - int DetectorNbr = level[0]; - int InsideDetectNbr = level[1]; - m_Event->SetEnergy(DetectorNbr,Energy); - m_Event->SetTime(DetectorNbr,Time); - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//////////////////////////////////////////////////////////////// -void Dali::InitializeScorers() { - // This check is necessary in case the geometry is reloaded - bool already_exist = false; - vector<G4int> NestingLevel; - NestingLevel.push_back(0); - NestingLevel.push_back(1); - - m_DaliScorer = CheckScorer("DaliScorer",already_exist) ; - - if(already_exist) - return ; - - // Otherwise the scorer is initialised - vector<int> level; level.push_back(0); - G4VPrimitiveScorer* Calorimeter= new CalorimeterScorers::PS_Calorimeter("Calorimeter",NestingLevel) ; - G4VPrimitiveScorer* Interaction= new InteractionScorers::PS_Interactions("Interaction",ms_InterCoord, 0) ; - //and register it to the multifunctionnal detector - m_DaliScorer->RegisterPrimitive(Calorimeter); - m_DaliScorer->RegisterPrimitive(Interaction); - G4SDManager::GetSDMpointer()->AddNewDetector(m_DaliScorer) ; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//////////////////////////////////////////////////////////////////////////////// -// Construct Method to be pass to the DetectorFactory // -//////////////////////////////////////////////////////////////////////////////// -NPS::VDetector* Dali::Construct(){ - return (NPS::VDetector*) new Dali(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//////////////////////////////////////////////////////////////////////////////// -// Registering the construct method to the factory // -//////////////////////////////////////////////////////////////////////////////// -extern"C" { - class proxy_nps_Dali{ - public: - proxy_nps_Dali(){ - NPS::DetectorFactory::getInstance()->AddToken("Dali","Dali"); - NPS::DetectorFactory::getInstance()->AddDetector("Dali",Dali::Construct); - } - }; - - proxy_nps_Dali p_nps_Dali; -} diff --git a/NPSimulation/Detectors/Dali/Dali.cc.~15~ b/NPSimulation/Detectors/Dali/Dali.cc.~15~ deleted file mode 100644 index 360a3f6598772c96e27e343ada11d4186820ede1..0000000000000000000000000000000000000000 --- a/NPSimulation/Detectors/Dali/Dali.cc.~15~ +++ /dev/null @@ -1,420 +0,0 @@ -/***************************************************************************** - * Copyright (C) 2009-2018 this file is part of the NPTool Project * - * * - * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * - * For the list of contributors see $NPTOOL/Licence/Contributors * - *****************************************************************************/ - -/***************************************************************************** - * Original Author: Elidiano Tronchin contact address: elidiano.tronchin@studenti.unipd.it * - * * - * Creation Date : septembre 2018 * - * Last update : * - *---------------------------------------------------------------------------* - * Decription: * - * This class describe Dali simulation * - * * - *---------------------------------------------------------------------------* - * Comment: * - * * - *****************************************************************************/ - -// C++ headers -#include <sstream> -#include <cmath> -#include <limits> -//G4 Geometry object -#include "G4Tubs.hh" -#include "G4Box.hh" - -//G4 sensitive -#include "G4SDManager.hh" -#include "G4MultiFunctionalDetector.hh" - -//G4 various object -#include "G4Material.hh" -#include "G4Transform3D.hh" -#include "G4PVPlacement.hh" -//#include "G4VPhysicalVolume.hh" -#include "G4PVReplica.hh" -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - -// NPTool header -#include "Dali.hh" -#include "CalorimeterScorers.hh" -#include "InteractionScorers.hh" -#include "RootOutput.h" -#include "MaterialManager.hh" -#include "NPSDetectorFactory.hh" -#include "NPOptionManager.h" -#include "NPSHitsMap.hh" -// CLHEP header -#include "CLHEP/Random/RandGauss.h" - -using namespace std; -using namespace CLHEP; - - - - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -namespace Dali_NS{ - // Energy and time Resolution - const double EnergyThreshold = 0*MeV; - const double ResoTime = 4.5*ns ; - const double ResoEnergy = 0.001*MeV ; - const double Radius = 50*mm ; - const double Width = 49.76*mm ; - const double Hight = 84.81*mm ; - const double Thickness = 164.82*mm ; - const string Material = "NaI"; //Change to drug it with Tl -} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Dali Specific Method -Dali::Dali(){ - m_Event = new TDaliData() ; - m_DaliScorer = 0; - m_SquareDetector = 0; - m_SquareDetector_Can = 0; - m_SquareDetector_CanMgO =0; - m_CylindricalDetector = 0; - m_SquareDetector_Crystal = 0; - Logic_ArrayDali_1 =0; - - // RGB Color + Transparency - m_VisSquare = new G4VisAttributes(G4Colour(0, 1, 0, 0.5)); - m_VisCylinder = new G4VisAttributes(G4Colour(0, 0, 1, 0.5)); - -} - -Dali::~Dali(){ -} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Dali::AddDetector(G4ThreeVector POS, string Shape){ - // Convert the POS value to R theta Phi as Cylindrical coordinate is easier in G4 - m_R.push_back(POS.perp()); - m_Alpha.push_back(POS.phi()); - m_Zeta.push_back(POS.y()); - m_Shape.push_back(Shape); -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Dali::AddDetector(double R, double Theta, double Phi, string Shape){ - - double m_r, m_alpha, m_zeta; - - m_r = R*cos(Phi); - m_alpha = Theta; - m_zeta = R*sin(Phi); - - m_R.push_back(m_r); - m_Alpha.push_back(m_alpha); - m_Zeta.push_back(m_zeta); - m_Shape.push_back(Shape); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Dali::AddDetector2(double R, double Alpha, double Zeta, string Shape){ - m_R.push_back(R); - m_Alpha.push_back(Alpha); - m_Zeta.push_back(Zeta); - m_Shape.push_back(Shape); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - - -G4LogicalVolume* Dali::BuildSquareDetector(){ - if(!m_SquareDetector){ - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - - G4Element* H = new G4Element("Hydrogen","H" , 1., 1.01*g/mole); - - G4Isotope* Mg24 = new G4Isotope ("Mg24", 12, 24, 23.985041*g/mole); - G4Isotope* Mg25 = new G4Isotope ("Mg25", 12, 25, 24.985836*g/mole); - G4Isotope* Mg26 = new G4Isotope ("Mg26", 12, 26, 25.982592*g/mole); - G4Element* Mg= new G4Element("elMagnesium","Mg",3); - Mg->AddIsotope(Mg24, 78.99*perCent); - Mg->AddIsotope(Mg25, 10*perCent); - Mg->AddIsotope(Mg26, 11.01*perCent); - - G4Isotope* O16 = new G4Isotope ("O16", 8, 16, 15.99*g/mole); - G4Isotope* O17 = new G4Isotope ("O17", 8, 17, 17.00*g/mole); - G4Isotope* O18 = new G4Isotope ("O18", 8, 18, 18.00*g/mole); - G4Element* O= new G4Element("elOxygen","O",3); - O->AddIsotope(O16, 99.76*perCent); - O->AddIsotope(O17, 0.04*perCent); - O->AddIsotope(O18, 0.20*perCent); - - G4Material* MgO = new G4Material("MgO",3.6*g/cm3,2); - MgO->AddElement(Mg,1); - MgO->AddElement(O, 1); - - G4Element *elTl = new G4Element("Thallium","Tl",81.,204.383*g/mole ); - G4Material* NaI_Tl = new G4Material("NaI_Tl",3.6667*g/cm3, 2); - NaI_Tl->AddMaterial(MaterialManager::getInstance()->GetMaterialFromLibrary("NaI"),99.6*perCent); - NaI_Tl->AddElement(elTl,0.4*perCent); - - - - - - - G4Box* box_3can = new G4Box("Dali_3BoxCan", Dali_NS::Hight*0.5, - Dali_NS::Width*0.5*3, Dali_NS::Thickness*0.5); - G4Material* Aria = MaterialManager::getInstance()->GetMaterialFromLibrary("Air"); - Logic_ArrayDali_1 = new G4LogicalVolume(box_3can,Aria,"logic_ArrayDali",0,0,0); - - - - G4Box* box_can = new G4Box("Dali_BoxCan", Dali_NS::Hight*0.5, - Dali_NS::Width*0.5, Dali_NS::Thickness*0.5); - G4Material* DetectorCanMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary("Al"); - m_SquareDetector_Can = new G4LogicalVolume(box_can,Aria,"logic_Dali_Can",0,0,0); - G4VisAttributes* Can_Attributes = new G4VisAttributes(G4Colour(0.5,0.5,0.5)); - m_SquareDetector_Can->SetVisAttributes(Can_Attributes); - - G4Box* box_MgO = new G4Box("Dali_BoxMgO", Dali_NS::Hight*0.5-1*mm, - Dali_NS::Width*0.5-1*mm, Dali_NS::Thickness*0.5-1*mm); - - m_SquareDetector_CanMgO = new G4LogicalVolume(box_MgO,Aria,"logic_Dali_CanMg0",0,0,0); - - G4Box* box_crystal = new G4Box("Dali_BoxNaI", Dali_NS::Hight*0.5-2.4*mm, - Dali_NS::Width*0.5-2.4*mm, Dali_NS::Thickness*0.5-2.4*mm); - G4Material* DetectorMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary(Dali_NS::Material); - m_SquareDetector_Crystal = new G4LogicalVolume(box_crystal,NaI_Tl,"logic_Dali_Box",0,0,0); - - G4ThreeVector positionnull = G4ThreeVector(0,0,0); - - // MgO Volume - - G4PVPlacement* physi_MgO = new G4PVPlacement(0, positionnull, - m_SquareDetector_CanMgO, - "MgO", - m_SquareDetector_Can, - false, - 0); - G4VisAttributes* MgO_Attributes = new G4VisAttributes(G4Colour(0.0,1.0,0.5)); - m_SquareDetector_CanMgO->SetVisAttributes(MgO_Attributes); - - - // NaI Volume - - G4PVPlacement* physi_NaI = new G4PVPlacement(0, positionnull, - m_SquareDetector_Crystal, - "Crystal NaI", - m_SquareDetector_CanMgO, - false, - 0); //this is the num detect level[0]?? - - m_SquareDetector_Crystal->SetVisAttributes(m_VisSquare); - m_SquareDetector_Crystal->SetSensitiveDetector(m_DaliScorer); - - G4VPhysicalVolume* ArrayDali_1 = new G4PVReplica("ArrayDali_1", - m_SquareDetector_Can, - Logic_ArrayDali_1 , - kYAxis, - 3, - Dali_NS::Width, //????????? - 0); - - } - - return Logic_ArrayDali_1; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4LogicalVolume* Dali::BuildCylindricalDetector(){ - if(!m_CylindricalDetector){ - G4Tubs* tub = new G4Tubs("Dali_Cyl",0,Dali_NS::Radius, Dali_NS::Thickness*0.5,0,360*deg); - - G4Material* DetectorMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary(Dali_NS::Material); - m_CylindricalDetector = new G4LogicalVolume(tub,DetectorMaterial,"logic_Dali_tub",0,0,0); - m_CylindricalDetector->SetVisAttributes(m_VisSquare); - m_CylindricalDetector->SetSensitiveDetector(m_DaliScorer); - - } - return m_CylindricalDetector; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Virtual Method of NPS::VDetector class - -// Read stream at Configfile to pick-up parameters of detector (Position,...) -// Called in DetecorConstruction::ReadDetextorConfiguration Method -void Dali::ReadConfiguration(NPL::InputParser parser){ - vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("Dali"); - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << "//// " << blocks.size() << " detectors found " << endl; - - vector<string> cart = {"POS","Shape"}; - vector<string> sphe = {"R","Theta","Phi","Shape"}; - vector<string> cyli = {"R","Alpha","Zeta","Shape"}; - - for(unsigned int i = 0 ; i < blocks.size() ; i++){ - if(blocks[i]->HasTokenList(cart)){ - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << endl << "//// Dali " << i+1 << endl; - - G4ThreeVector Pos = NPS::ConvertVector(blocks[i]->GetTVector3("POS","mm")); - string Shape = blocks[i]->GetString("Shape"); - AddDetector(Pos,Shape); - } - else if(blocks[i]->HasTokenList(sphe)){ - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << endl << "//// Dali " << i+1 << endl; - double R = blocks[i]->GetDouble("R","mm"); - double Theta = blocks[i]->GetDouble("Theta","deg"); - double Phi = blocks[i]->GetDouble("Phi","deg"); - string Shape = blocks[i]->GetString("Shape"); - AddDetector(R,Theta,Phi,Shape); - } - else if(blocks[i]->HasTokenList(cyli)){ - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << endl << "//// Dali " << i+1 << endl; - double R = blocks[i]->GetDouble("R","mm"); - double Alpha = blocks[i]->GetDouble("Alpha","deg"); - double Zeta = blocks[i]->GetDouble("Zeta","mm"); - string Shape = blocks[i]->GetString("Shape"); - AddDetector2(R,Alpha,Zeta,Shape); - } - else{ - cout << "ERROR: check your input file formatting " << endl; - exit(1); - } - } -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -// Construct detector and inialise sensitive part. -// Called After DetecorConstruction::AddDetector Method -void Dali::ConstructDetector(G4LogicalVolume* world){ - - for (unsigned short i = 0 ; i < m_R.size() ; i++) { - - G4double wX = m_R[i] * cos(m_Alpha[i] ) ; - G4double wY = m_R[i] * sin(m_Alpha[i] ) ; - G4double wZ = m_Zeta[i]; - G4ThreeVector Det_pos = G4ThreeVector(wX, wY, wZ) ; - - G4RotationMatrix* Rot = new G4RotationMatrix(); - - if(m_Zeta[i]>0){ - Rot->rotateY(180*deg); Rot->rotateZ(m_Alpha[i]); - } else{Rot->rotateZ(m_Alpha[i]);} - - - if(m_Shape[i] == "Cylindrical"){ - new G4PVPlacement(G4Transform3D(*Rot,Det_pos), - BuildCylindricalDetector(), - "Dali",world,false,i+1); - } - - else if(m_Shape[i] == "Square"){ - new G4PVPlacement(G4Transform3D(*Rot,Det_pos), - BuildSquareDetector(), - "Dali",world,false,i+1); - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Add Detector branch to the EventTree. -// Called After DetecorConstruction::AddDetector Method -void Dali::InitializeRootOutput(){ - RootOutput *pAnalysis = RootOutput::getInstance(); - TTree *pTree = pAnalysis->GetTree(); - if(!pTree->FindBranch("Dali")){ - pTree->Branch("Dali", "TDaliData", &m_Event) ; - } - pTree->SetBranchAddress("Dali", &m_Event) ; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Read sensitive part and fill the Root tree. -// Called at in the EventAction::EndOfEventAvtion -void Dali::ReadSensitive(const G4Event* ){ - m_Event->Clear(); - /////////// - // Calorimeter scorer - CalorimeterScorers::PS_Calorimeter* Scorer= (CalorimeterScorers::PS_Calorimeter*) m_DaliScorer->GetPrimitive(0); - - - - unsigned int size = Scorer->GetMult(); - // cout << "size " << size << endl; - for(unsigned int i = 0 ; i < size ; i++){ - vector<unsigned int> level = Scorer->GetLevel(i); - double Energy = RandGauss::shoot(Scorer->GetEnergy(i),Dali_NS::ResoEnergy); - // cout << Energy << endl; - if(Energy>Dali_NS::EnergyThreshold){ - double Time = RandGauss::shoot(Scorer->GetTime(i),Dali_NS::ResoTime); - int ArrayNbr = level[1]; - int DetectinsArrayNbr = level[0]+1; - int DetectorNbr = (ArrayNbr-1)*3+DetectinsArrayNbr; - m_Event->SetEnergy(DetectorNbr,Energy); - m_Event->SetTime(DetectorNbr,Time); - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//////////////////////////////////////////////////////////////// -void Dali::InitializeScorers() { - // This check is necessary in case the geometry is reloaded - bool already_exist = false; - vector<G4int> NestingLevel; - NestingLevel.push_back(2); - NestingLevel.push_back(3); - - m_DaliScorer = CheckScorer("DaliScorer",already_exist) ; - - if(already_exist) - return ; - - // Otherwise the scorer is initialised - //vector<int> level; level.push_back(0); - G4VPrimitiveScorer* Calorimeter= new CalorimeterScorers::PS_Calorimeter("Calorimeter", NestingLevel) ; - G4VPrimitiveScorer* Interaction= new InteractionScorers::PS_Interactions("Interaction",ms_InterCoord, 0) ; - //and register it to the multifunctionnal detector - m_DaliScorer->RegisterPrimitive(Calorimeter); - m_DaliScorer->RegisterPrimitive(Interaction); - G4SDManager::GetSDMpointer()->AddNewDetector(m_DaliScorer) ; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//////////////////////////////////////////////////////////////////////////////// -// Construct Method to be pass to the DetectorFactory // -//////////////////////////////////////////////////////////////////////////////// -NPS::VDetector* Dali::Construct(){ - return (NPS::VDetector*) new Dali(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//////////////////////////////////////////////////////////////////////////////// -// Registering the construct method to the factory // -//////////////////////////////////////////////////////////////////////////////// -extern"C" { - class proxy_nps_Dali{ - public: - proxy_nps_Dali(){ - NPS::DetectorFactory::getInstance()->AddToken("Dali","Dali"); - NPS::DetectorFactory::getInstance()->AddDetector("Dali",Dali::Construct); - } - }; - - proxy_nps_Dali p_nps_Dali; -} diff --git a/NPSimulation/Detectors/Dali/Dali.cc.~16~ b/NPSimulation/Detectors/Dali/Dali.cc.~16~ deleted file mode 100644 index 9631a93e6092365d2d9e196583e8d322055bb832..0000000000000000000000000000000000000000 --- a/NPSimulation/Detectors/Dali/Dali.cc.~16~ +++ /dev/null @@ -1,432 +0,0 @@ -/***************************************************************************** - * Copyright (C) 2009-2018 this file is part of the NPTool Project * - * * - * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * - * For the list of contributors see $NPTOOL/Licence/Contributors * - *****************************************************************************/ - -/***************************************************************************** - * Original Author: Elidiano Tronchin contact address: elidiano.tronchin@studenti.unipd.it * - * * - * Creation Date : septembre 2018 * - * Last update : * - *---------------------------------------------------------------------------* - * Decription: * - * This class describe Dali simulation * - * * - *---------------------------------------------------------------------------* - * Comment: * - * * - *****************************************************************************/ - -// C++ headers -#include <sstream> -#include <cmath> -#include <limits> -//G4 Geometry object -#include "G4Tubs.hh" -#include "G4Box.hh" - -//G4 sensitive -#include "G4SDManager.hh" -#include "G4MultiFunctionalDetector.hh" - -//G4 various object -#include "G4Material.hh" -#include "G4Transform3D.hh" -#include "G4PVPlacement.hh" -//#include "G4VPhysicalVolume.hh" -#include "G4PVReplica.hh" -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - -// NPTool header -#include "Dali.hh" -#include "CalorimeterScorers.hh" -#include "InteractionScorers.hh" -#include "RootOutput.h" -#include "MaterialManager.hh" -#include "NPSDetectorFactory.hh" -#include "NPOptionManager.h" -#include "NPSHitsMap.hh" -// CLHEP header -#include "CLHEP/Random/RandGauss.h" - -using namespace std; -using namespace CLHEP; - - - - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -namespace Dali_NS{ - // Energy and time Resolution - const double EnergyThreshold = 0*MeV; - const double ResoTime = 4.5*ns ; - const double ResoEnergy = 0.001*MeV ; - const double Radius = 50*mm ; - const double Width = 49.76*mm ; - const double Hight = 84.81*mm ; - const double Thickness = 164.82*mm ; - const string Material = "NaI"; //Change to drug it with Tl -} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Dali Specific Method -Dali::Dali(){ - m_Event = new TDaliData() ; - m_DaliScorer = 0; - m_SquareDetector = 0; - m_SquareDetector_Can = 0; - m_SquareDetector_CanMgO =0; - m_CylindricalDetector = 0; - m_SquareDetector_Crystal = 0; - Logic_ArrayDali_1 =0; - - // RGB Color + Transparency - m_VisSquare = new G4VisAttributes(G4Colour(0, 1, 0, 0.5)); - m_VisCylinder = new G4VisAttributes(G4Colour(0, 0, 1, 0.5)); - -} - -Dali::~Dali(){ -} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Dali::AddDetector(G4ThreeVector POS, string Shape){ - // Convert the POS value to R theta Phi as Cylindrical coordinate is easier in G4 - m_R.push_back(POS.perp()); - m_Alpha.push_back(POS.phi()); - m_Zeta.push_back(POS.y()); - m_Shape.push_back(Shape); -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Dali::AddDetector(double R, double Theta, double Phi, string Shape){ - - double m_r, m_alpha, m_zeta; - - m_r = R*cos(Phi); - m_alpha = Theta; - m_zeta = R*sin(Phi); - - m_R.push_back(m_r); - m_Alpha.push_back(m_alpha); - m_Zeta.push_back(m_zeta); - m_Shape.push_back(Shape); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Dali::AddDetector2(double R, double Alpha, double Zeta, string Shape){ - m_R.push_back(R); - m_Alpha.push_back(Alpha); - m_Zeta.push_back(Zeta); - m_Shape.push_back(Shape); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - - -G4LogicalVolume* Dali::BuildSquareDetector(){ - if(!m_SquareDetector){ - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - - G4Element* H = new G4Element("Hydrogen","H" , 1., 1.01*g/mole); - - G4Isotope* Mg24 = new G4Isotope ("Mg24", 12, 24, 23.985041*g/mole); - G4Isotope* Mg25 = new G4Isotope ("Mg25", 12, 25, 24.985836*g/mole); - G4Isotope* Mg26 = new G4Isotope ("Mg26", 12, 26, 25.982592*g/mole); - G4Element* Mg= new G4Element("elMagnesium","Mg",3); - Mg->AddIsotope(Mg24, 78.99*perCent); - Mg->AddIsotope(Mg25, 10*perCent); - Mg->AddIsotope(Mg26, 11.01*perCent); - - G4Isotope* O16 = new G4Isotope ("O16", 8, 16, 15.99*g/mole); - G4Isotope* O17 = new G4Isotope ("O17", 8, 17, 17.00*g/mole); - G4Isotope* O18 = new G4Isotope ("O18", 8, 18, 18.00*g/mole); - G4Element* O= new G4Element("elOxygen","O",3); - O->AddIsotope(O16, 99.76*perCent); - O->AddIsotope(O17, 0.04*perCent); - O->AddIsotope(O18, 0.20*perCent); - - G4Material* MgO = new G4Material("MgO",3.6*g/cm3,2); - MgO->AddElement(Mg,1); - MgO->AddElement(O, 1); - - G4Element *elTl = new G4Element("Thallium","Tl",81.,204.383*g/mole ); - G4Material* NaI_Tl = new G4Material("NaI_Tl",3.6667*g/cm3, 2); - NaI_Tl->AddMaterial(MaterialManager::getInstance()->GetMaterialFromLibrary("NaI"),99.6*perCent); - NaI_Tl->AddElement(elTl,0.4*perCent); - - - - - - - G4Box* box_3can = new G4Box("Dali_3BoxCan", Dali_NS::Hight*0.5, - Dali_NS::Width*0.5*3, Dali_NS::Thickness*0.5); - G4Material* Aria = MaterialManager::getInstance()->GetMaterialFromLibrary("Air"); - Logic_ArrayDali_1 = new G4LogicalVolume(box_3can,Aria,"logic_ArrayDali",0,0,0); - - - - G4Box* box_can = new G4Box("Dali_BoxCan", Dali_NS::Hight*0.5, - Dali_NS::Width*0.5, Dali_NS::Thickness*0.5); - G4Material* DetectorCanMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary("Al"); - m_SquareDetector_Can = new G4LogicalVolume(box_can,DetectorCanMaterial,"logic_Dali_Can",0,0,0); - G4VisAttributes* Can_Attributes = new G4VisAttributes(G4Colour(0.5,0.5,0.5)); - m_SquareDetector_Can->SetVisAttributes(Can_Attributes); - - G4Box* box_MgO = new G4Box("Dali_BoxMgO", Dali_NS::Hight*0.5-1*mm, - Dali_NS::Width*0.5-1*mm, Dali_NS::Thickness*0.5-1*mm); - - m_SquareDetector_CanMgO = new G4LogicalVolume(box_MgO,MgO,"logic_Dali_CanMg0",0,0,0); - - G4Box* box_crystal = new G4Box("Dali_BoxNaI", Dali_NS::Hight*0.5-2.4*mm, - Dali_NS::Width*0.5-2.4*mm, Dali_NS::Thickness*0.5-2.4*mm); - G4Material* DetectorMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary(Dali_NS::Material); - m_SquareDetector_Crystal = new G4LogicalVolume(box_crystal,NaI_Tl,"logic_Dali_Box",0,0,0); - - G4ThreeVector positionnull = G4ThreeVector(0,0,0); - - // MgO Volume - - G4PVPlacement* physi_MgO = new G4PVPlacement(0, positionnull, - m_SquareDetector_CanMgO, - "MgO", - m_SquareDetector_Can, - false, - 0); - G4VisAttributes* MgO_Attributes = new G4VisAttributes(G4Colour(0.0,1.0,0.5)); - m_SquareDetector_CanMgO->SetVisAttributes(MgO_Attributes); - - - // NaI Volume - - G4PVPlacement* physi_NaI = new G4PVPlacement(0, positionnull, - m_SquareDetector_Crystal, - "Crystal NaI", - m_SquareDetector_CanMgO, - false, - 0); - - m_SquareDetector_Crystal->SetVisAttributes(m_VisSquare); - m_SquareDetector_Crystal->SetSensitiveDetector(m_DaliScorer); - - G4VPhysicalVolume* ArrayDali_1 = new G4PVReplica("ArrayDali_1", - m_SquareDetector_Can, - Logic_ArrayDali_1 , - kYAxis, - 3, - Dali_NS::Width, //????????? - 0); - - - - - - } - - return Logic_ArrayDali_1; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4LogicalVolume* Dali::BuildCylindricalDetector(){ - if(!m_CylindricalDetector){ - G4Tubs* tub = new G4Tubs("Dali_Cyl",0,Dali_NS::Radius, Dali_NS::Thickness*0.5,0,360*deg); - - G4Material* DetectorMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary(Dali_NS::Material); - m_CylindricalDetector = new G4LogicalVolume(tub,DetectorMaterial,"logic_Dali_tub",0,0,0); - m_CylindricalDetector->SetVisAttributes(m_VisSquare); - m_CylindricalDetector->SetSensitiveDetector(m_DaliScorer); - - } - return m_CylindricalDetector; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Virtual Method of NPS::VDetector class - -// Read stream at Configfile to pick-up parameters of detector (Position,...) -// Called in DetecorConstruction::ReadDetextorConfiguration Method -void Dali::ReadConfiguration(NPL::InputParser parser){ - vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("Dali"); - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << "//// " << blocks.size() << " detectors found " << endl; - - vector<string> cart = {"POS","Shape"}; - vector<string> sphe = {"R","Theta","Phi","Shape"}; - vector<string> cyli = {"R","Alpha","Zeta","Shape"}; - - for(unsigned int i = 0 ; i < blocks.size() ; i++){ - if(blocks[i]->HasTokenList(cart)){ - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << endl << "//// Dali " << i+1 << endl; - - G4ThreeVector Pos = NPS::ConvertVector(blocks[i]->GetTVector3("POS","mm")); - string Shape = blocks[i]->GetString("Shape"); - AddDetector(Pos,Shape); - } - else if(blocks[i]->HasTokenList(sphe)){ - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << endl << "//// Dali " << i+1 << endl; - double R = blocks[i]->GetDouble("R","mm"); - double Theta = blocks[i]->GetDouble("Theta","deg"); - double Phi = blocks[i]->GetDouble("Phi","deg"); - string Shape = blocks[i]->GetString("Shape"); - AddDetector(R,Theta,Phi,Shape); - } - else if(blocks[i]->HasTokenList(cyli)){ - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << endl << "//// Dali " << i+1 << endl; - double R = blocks[i]->GetDouble("R","mm"); - double Alpha = blocks[i]->GetDouble("Alpha","deg"); - double Zeta = blocks[i]->GetDouble("Zeta","mm"); - string Shape = blocks[i]->GetString("Shape"); - AddDetector2(R,Alpha,Zeta,Shape); - } - else{ - cout << "ERROR: check your input file formatting " << endl; - exit(1); - } - } -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -// Construct detector and inialise sensitive part. -// Called After DetecorConstruction::AddDetector Method -void Dali::ConstructDetector(G4LogicalVolume* world){ - - - - for (unsigned short i = 0 ; i < m_R.size() ; i++) { - - G4double wX = m_R[i] * cos(m_Alpha[i] ) ; - G4double wY = m_R[i] * sin(m_Alpha[i] ) ; - G4double wZ = m_Zeta[i]; - G4ThreeVector Det_pos = G4ThreeVector(wX, wY, wZ) ; - - - - G4RotationMatrix* Rot = new G4RotationMatrix(); - - - - - - if(m_Zeta[i]>0){ - Rot->rotateY(180*deg); Rot->rotateZ(m_Alpha[i]); - } else{Rot->rotateZ(m_Alpha[i]);} - - - if(m_Shape[i] == "Cylindrical"){ - new G4PVPlacement(G4Transform3D(*Rot,Det_pos), - BuildCylindricalDetector(), - "Dali",world,false,i+1); - } - - else if(m_Shape[i] == "Square"){ - new G4PVPlacement(G4Transform3D(*Rot,Det_pos), - BuildSquareDetector(), - "Dali",world,false,i+1); - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Add Detector branch to the EventTree. -// Called After DetecorConstruction::AddDetector Method -void Dali::InitializeRootOutput(){ - RootOutput *pAnalysis = RootOutput::getInstance(); - TTree *pTree = pAnalysis->GetTree(); - if(!pTree->FindBranch("Dali")){ - pTree->Branch("Dali", "TDaliData", &m_Event) ; - } - pTree->SetBranchAddress("Dali", &m_Event) ; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Read sensitive part and fill the Root tree. -// Called at in the EventAction::EndOfEventAvtion -void Dali::ReadSensitive(const G4Event* ){ - m_Event->Clear(); - /////////// - // Calorimeter scorer - CalorimeterScorers::PS_Calorimeter* Scorer= (CalorimeterScorers::PS_Calorimeter*) m_DaliScorer->GetPrimitive(0); - - - - unsigned int size = Scorer->GetMult(); - // cout << "size " << size << endl; - for(unsigned int i = 0 ; i < size ; i++){ - vector<unsigned int> level = Scorer->GetLevel(i); - double Energy = RandGauss::shoot(Scorer->GetEnergy(i),Dali_NS::ResoEnergy); - // cout << Energy << endl; - if(Energy>Dali_NS::EnergyThreshold){ - double Time = RandGauss::shoot(Scorer->GetTime(i),Dali_NS::ResoTime); - int ArrayNbr = level[1]; - int DetectinsArrayNbr = level[0]+1; - int DetectorNbr = (ArrayNbr-1)*3+DetectinsArrayNbr; - m_Event->SetEnergy(DetectorNbr,Energy); - m_Event->SetTime(DetectorNbr,Time); - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//////////////////////////////////////////////////////////////// -void Dali::InitializeScorers() { - // This check is necessary in case the geometry is reloaded - bool already_exist = false; - vector<G4int> NestingLevel; - NestingLevel.push_back(2); - NestingLevel.push_back(3); - - m_DaliScorer = CheckScorer("DaliScorer",already_exist) ; - - if(already_exist) - return ; - - // Otherwise the scorer is initialised - //vector<int> level; level.push_back(0); - G4VPrimitiveScorer* Calorimeter= new CalorimeterScorers::PS_Calorimeter("Calorimeter", NestingLevel) ; - G4VPrimitiveScorer* Interaction= new InteractionScorers::PS_Interactions("Interaction",ms_InterCoord, 0) ; - //and register it to the multifunctionnal detector - m_DaliScorer->RegisterPrimitive(Calorimeter); - m_DaliScorer->RegisterPrimitive(Interaction); - G4SDManager::GetSDMpointer()->AddNewDetector(m_DaliScorer) ; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//////////////////////////////////////////////////////////////////////////////// -// Construct Method to be pass to the DetectorFactory // -//////////////////////////////////////////////////////////////////////////////// -NPS::VDetector* Dali::Construct(){ - return (NPS::VDetector*) new Dali(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//////////////////////////////////////////////////////////////////////////////// -// Registering the construct method to the factory // -//////////////////////////////////////////////////////////////////////////////// -extern"C" { - class proxy_nps_Dali{ - public: - proxy_nps_Dali(){ - NPS::DetectorFactory::getInstance()->AddToken("Dali","Dali"); - NPS::DetectorFactory::getInstance()->AddDetector("Dali",Dali::Construct); - } - }; - - proxy_nps_Dali p_nps_Dali; -} diff --git a/NPSimulation/Detectors/Dali/Dali.cc.~1~ b/NPSimulation/Detectors/Dali/Dali.cc.~1~ deleted file mode 100644 index f81da00736576d00f5df26274f3785123725ae43..0000000000000000000000000000000000000000 --- a/NPSimulation/Detectors/Dali/Dali.cc.~1~ +++ /dev/null @@ -1,292 +0,0 @@ -/***************************************************************************** - * Copyright (C) 2009-2018 this file is part of the NPTool Project * - * * - * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * - * For the list of contributors see $NPTOOL/Licence/Contributors * - *****************************************************************************/ - -/***************************************************************************** - * Original Author: Elidiano Tronchin contact address: elidiano.tronchin@studenti.unipd.it * - * * - * Creation Date : septembre 2018 * - * Last update : * - *---------------------------------------------------------------------------* - * Decription: * - * This class describe Dali simulation * - * * - *---------------------------------------------------------------------------* - * Comment: * - * * - *****************************************************************************/ - -// C++ headers -#include <sstream> -#include <cmath> -#include <limits> -//G4 Geometry object -#include "G4Tubs.hh" -#include "G4Box.hh" - -//G4 sensitive -#include "G4SDManager.hh" -#include "G4MultiFunctionalDetector.hh" - -//G4 various object -#include "G4Material.hh" -#include "G4Transform3D.hh" -#include "G4PVPlacement.hh" -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - -// NPTool header -#include "Dali.hh" -#include "CalorimeterScorers.hh" -#include "InteractionScorers.hh" -#include "RootOutput.h" -#include "MaterialManager.hh" -#include "NPSDetectorFactory.hh" -#include "NPOptionManager.h" -#include "NPSHitsMap.hh" -// CLHEP header -#include "CLHEP/Random/RandGauss.h" - -using namespace std; -using namespace CLHEP; - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -namespace Dali_NS{ - // Energy and time Resolution - const double EnergyThreshold = 0.1*MeV; - const double ResoTime = 4.5*ns ; - const double ResoEnergy = 1.0*MeV ; - const double Radius = 50*mm ; - const double Width = 100*mm ; - const double Thickness = 300*mm ; - const string Material = "NaI"; -} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Dali Specific Method -Dali::Dali(){ - m_Event = new TDaliData() ; - m_DaliScorer = 0; - m_SquareDetector = 0; - m_CylindricalDetector = 0; - - - // RGB Color + Transparency - m_VisSquare = new G4VisAttributes(G4Colour(0, 1, 0, 0.5)); - m_VisCylinder = new G4VisAttributes(G4Colour(0, 0, 1, 0.5)); - -} - -Dali::~Dali(){ -} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Dali::AddDetector(G4ThreeVector POS, string Shape){ - // Convert the POS value to R theta Phi as Spherical coordinate is easier in G4 - m_R.push_back(POS.mag()); - m_Theta.push_back(POS.theta()); - m_Phi.push_back(POS.phi()); - m_Shape.push_back(Shape); -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Dali::AddDetector(double R, double Theta, double Phi, string Shape){ - m_R.push_back(R); - m_Theta.push_back(Theta); - m_Phi.push_back(Phi); - m_Shape.push_back(Shape); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4LogicalVolume* Dali::BuildSquareDetector(){ - if(!m_SquareDetector){ - G4Box* box = new G4Box("Dali_Box",Dali_NS::Width*0.5, - Dali_NS::Width*0.5,Dali_NS::Thickness*0.5); - - G4Material* DetectorMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary(Dali_NS::Material); - m_SquareDetector = new G4LogicalVolume(box,DetectorMaterial,"logic_Dali_Box",0,0,0); - m_SquareDetector->SetVisAttributes(m_VisSquare); - m_SquareDetector->SetSensitiveDetector(m_DaliScorer); - } - return m_SquareDetector; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4LogicalVolume* Dali::BuildCylindricalDetector(){ - if(!m_CylindricalDetector){ - G4Tubs* tub = new G4Tubs("Dali_Cyl",0,Dali_NS::Radius,Dali_NS::Thickness*0.5,0,360*deg); - - G4Material* DetectorMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary(Dali_NS::Material); - m_CylindricalDetector = new G4LogicalVolume(tub,DetectorMaterial,"logic_Dali_tub",0,0,0); - m_CylindricalDetector->SetVisAttributes(m_VisSquare); - m_CylindricalDetector->SetSensitiveDetector(m_DaliScorer); - - } - return m_CylindricalDetector; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Virtual Method of NPS::VDetector class - -// Read stream at Configfile to pick-up parameters of detector (Position,...) -// Called in DetecorConstruction::ReadDetextorConfiguration Method -void Dali::ReadConfiguration(NPL::InputParser parser){ - vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("Dali"); - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << "//// " << blocks.size() << " detectors found " << endl; - - vector<string> cart = {"POS","Shape"}; - vector<string> sphe = {"R","Theta","Phi","Shape"}; - - for(unsigned int i = 0 ; i < blocks.size() ; i++){ - if(blocks[i]->HasTokenList(cart)){ - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << endl << "//// Dali " << i+1 << endl; - - G4ThreeVector Pos = NPS::ConvertVector(blocks[i]->GetTVector3("POS","mm")); - string Shape = blocks[i]->GetString("Shape"); - AddDetector(Pos,Shape); - } - else if(blocks[i]->HasTokenList(sphe)){ - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << endl << "//// Dali " << i+1 << endl; - double R = blocks[i]->GetDouble("R","mm"); - double Theta = blocks[i]->GetDouble("Theta","deg"); - double Phi = blocks[i]->GetDouble("Phi","deg"); - string Shape = blocks[i]->GetString("Shape"); - AddDetector(R,Theta,Phi,Shape); - } - else{ - cout << "ERROR: check your input file formatting " << endl; - exit(1); - } - } -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -// Construct detector and inialise sensitive part. -// Called After DetecorConstruction::AddDetector Method -void Dali::ConstructDetector(G4LogicalVolume* world){ - for (unsigned short i = 0 ; i < m_R.size() ; i++) { - - G4double wX = m_R[i] * sin(m_Theta[i] ) * cos(m_Phi[i] ) ; - G4double wY = m_R[i] * sin(m_Theta[i] ) * sin(m_Phi[i] ) ; - G4double wZ = m_R[i] * cos(m_Theta[i] ) ; - G4ThreeVector Det_pos = G4ThreeVector(wX, wY, wZ) ; - // So the face of the detector is at R instead of the middle - Det_pos+=Det_pos.unit()*Dali_NS::Thickness*0.5; - // Building Detector reference frame - G4double ii = cos(m_Theta[i]) * cos(m_Phi[i]); - G4double jj = cos(m_Theta[i]) * sin(m_Phi[i]); - G4double kk = -sin(m_Theta[i]); - G4ThreeVector Y(ii,jj,kk); - G4ThreeVector w = Det_pos.unit(); - G4ThreeVector u = w.cross(Y); - G4ThreeVector v = w.cross(u); - v = v.unit(); - u = u.unit(); - - G4RotationMatrix* Rot = new G4RotationMatrix(u,v,w); - - if(m_Shape[i] == "Cylindrical"){ - new G4PVPlacement(G4Transform3D(*Rot,Det_pos), - BuildCylindricalDetector(), - "Dali",world,false,i+1); - } - - else if(m_Shape[i] == "Square"){ - new G4PVPlacement(G4Transform3D(*Rot,Det_pos), - BuildSquareDetector(), - "Dali",world,false,i+1); - } - } -} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Add Detector branch to the EventTree. -// Called After DetecorConstruction::AddDetector Method -void Dali::InitializeRootOutput(){ - RootOutput *pAnalysis = RootOutput::getInstance(); - TTree *pTree = pAnalysis->GetTree(); - if(!pTree->FindBranch("Dali")){ - pTree->Branch("Dali", "TDaliData", &m_Event) ; - } - pTree->SetBranchAddress("Dali", &m_Event) ; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Read sensitive part and fill the Root tree. -// Called at in the EventAction::EndOfEventAvtion -void Dali::ReadSensitive(const G4Event* ){ - m_Event->Clear(); - - /////////// - // Calorimeter scorer - CalorimeterScorers::PS_Calorimeter* Scorer= (CalorimeterScorers::PS_Calorimeter*) m_DaliScorer->GetPrimitive(0); - - unsigned int size = Scorer->GetMult(); - for(unsigned int i = 0 ; i < size ; i++){ - vector<unsigned int> level = Scorer->GetLevel(i); - double Energy = RandGauss::shoot(Scorer->GetEnergy(i),Dali_NS::ResoEnergy); - if(Energy>Dali_NS::EnergyThreshold){ - double Time = RandGauss::shoot(Scorer->GetTime(i),Dali_NS::ResoTime); - int DetectorNbr = level[0]; - m_Event->SetEnergy(DetectorNbr,Energy); - m_Event->SetTime(DetectorNbr,Time); - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//////////////////////////////////////////////////////////////// -void Dali::InitializeScorers() { - // This check is necessary in case the geometry is reloaded - bool already_exist = false; - m_DaliScorer = CheckScorer("DaliScorer",already_exist) ; - - if(already_exist) - return ; - - // Otherwise the scorer is initialised - vector<int> level; level.push_back(0); - G4VPrimitiveScorer* Calorimeter= new CalorimeterScorers::PS_Calorimeter("Calorimeter",level, 0) ; - G4VPrimitiveScorer* Interaction= new InteractionScorers::PS_Interactions("Interaction",ms_InterCoord, 0) ; - //and register it to the multifunctionnal detector - m_DaliScorer->RegisterPrimitive(Calorimeter); - m_DaliScorer->RegisterPrimitive(Interaction); - G4SDManager::GetSDMpointer()->AddNewDetector(m_DaliScorer) ; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//////////////////////////////////////////////////////////////////////////////// -// Construct Method to be pass to the DetectorFactory // -//////////////////////////////////////////////////////////////////////////////// -NPS::VDetector* Dali::Construct(){ - return (NPS::VDetector*) new Dali(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//////////////////////////////////////////////////////////////////////////////// -// Registering the construct method to the factory // -//////////////////////////////////////////////////////////////////////////////// -extern"C" { - class proxy_nps_Dali{ - public: - proxy_nps_Dali(){ - NPS::DetectorFactory::getInstance()->AddToken("Dali","Dali"); - NPS::DetectorFactory::getInstance()->AddDetector("Dali",Dali::Construct); - } - }; - - proxy_nps_Dali p_nps_Dali; -} diff --git a/NPSimulation/Detectors/Dali/Dali.cc.~2~ b/NPSimulation/Detectors/Dali/Dali.cc.~2~ deleted file mode 100644 index 5923ec94df6825c9cdb5ede5b892988bb5034191..0000000000000000000000000000000000000000 --- a/NPSimulation/Detectors/Dali/Dali.cc.~2~ +++ /dev/null @@ -1,294 +0,0 @@ -/***************************************************************************** - * Copyright (C) 2009-2018 this file is part of the NPTool Project * - * * - * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * - * For the list of contributors see $NPTOOL/Licence/Contributors * - *****************************************************************************/ - -/***************************************************************************** - * Original Author: Elidiano Tronchin contact address: elidiano.tronchin@studenti.unipd.it * - * * - * Creation Date : septembre 2018 * - * Last update : * - *---------------------------------------------------------------------------* - * Decription: * - * This class describe Dali simulation * - * * - *---------------------------------------------------------------------------* - * Comment: * - * * - *****************************************************************************/ - -// C++ headers -#include <sstream> -#include <cmath> -#include <limits> -//G4 Geometry object -#include "G4Tubs.hh" -#include "G4Box.hh" - -//G4 sensitive -#include "G4SDManager.hh" -#include "G4MultiFunctionalDetector.hh" - -//G4 various object -#include "G4Material.hh" -#include "G4Transform3D.hh" -#include "G4PVPlacement.hh" -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - -// NPTool header -#include "Dali.hh" -#include "CalorimeterScorers.hh" -#include "InteractionScorers.hh" -#include "RootOutput.h" -#include "MaterialManager.hh" -#include "NPSDetectorFactory.hh" -#include "NPOptionManager.h" -#include "NPSHitsMap.hh" -// CLHEP header -#include "CLHEP/Random/RandGauss.h" - -using namespace std; -using namespace CLHEP; - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -namespace Dali_NS{ - // Energy and time Resolution - const double EnergyThreshold = 0.1*MeV; - const double ResoTime = 4.5*ns ; - const double ResoEnergy = 1.0*MeV ; - const double Radius = 50*mm ; - const double Width = 44.96*mm ; - const double Hight = 160.02*mm ; - const double Thickness = 80.01*mm ; - const string Material = "NaI(Tl)"; -} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Dali Specific Method -Dali::Dali(){ - m_Event = new TDaliData() ; - m_DaliScorer = 0; - m_SquareDetector = 0; - m_CylindricalDetector = 0; - - - // RGB Color + Transparency - m_VisSquare = new G4VisAttributes(G4Colour(0, 1, 0, 0.5)); - m_VisCylinder = new G4VisAttributes(G4Colour(0, 0, 1, 0.5)); - -} - -Dali::~Dali(){ -} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Dali::AddDetector(G4ThreeVector POS, string Shape){ - // Convert the POS value to R theta Phi as Spherical coordinate is easier in G4 - m_R.push_back(POS.mag()); - m_Theta.push_back(POS.theta()); - m_Phi.push_back(POS.phi()); - m_Shape.push_back(Shape); -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Dali::AddDetector(double R, double Theta, double Phi, string Shape){ - m_R.push_back(R); - m_Theta.push_back(Theta); - m_Phi.push_back(Phi); - m_Shape.push_back(Shape); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4LogicalVolume* Dali::BuildSquareDetector(){ - if(!m_SquareDetector){ - G4Box* box = new G4Box("Dali_Box", Dali_NS::Width*0.5, - Dali_NS::Hight*0.5, Dali_NS::Thickness*0.5); - - G4Material* DetectorMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary(Dali_NS::Material); - m_SquareDetector = new G4LogicalVolume(box,DetectorMaterial,"logic_Dali_Box",0,0,0); - m_SquareDetector_Can = new G4LogicalVolume(box,DetectorMaterial,"logic_Dali_Can",0,0,0); - m_SquareDetector->SetVisAttributes(m_VisSquare); - m_SquareDetector->SetSensitiveDetector(m_DaliScorer); - } - return m_SquareDetector; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4LogicalVolume* Dali::BuildCylindricalDetector(){ - if(!m_CylindricalDetector){ - G4Tubs* tub = new G4Tubs("Dali_Cyl",0,Dali_NS::Radius, Dali_NS::Thickness*0.5,0,360*deg); - - G4Material* DetectorMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary(Dali_NS::Material); - m_CylindricalDetector = new G4LogicalVolume(tub,DetectorMaterial,"logic_Dali_tub",0,0,0); - m_CylindricalDetector->SetVisAttributes(m_VisSquare); - m_CylindricalDetector->SetSensitiveDetector(m_DaliScorer); - - } - return m_CylindricalDetector; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Virtual Method of NPS::VDetector class - -// Read stream at Configfile to pick-up parameters of detector (Position,...) -// Called in DetecorConstruction::ReadDetextorConfiguration Method -void Dali::ReadConfiguration(NPL::InputParser parser){ - vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("Dali"); - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << "//// " << blocks.size() << " detectors found " << endl; - - vector<string> cart = {"POS","Shape"}; - vector<string> sphe = {"R","Theta","Phi","Shape"}; - - for(unsigned int i = 0 ; i < blocks.size() ; i++){ - if(blocks[i]->HasTokenList(cart)){ - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << endl << "//// Dali " << i+1 << endl; - - G4ThreeVector Pos = NPS::ConvertVector(blocks[i]->GetTVector3("POS","mm")); - string Shape = blocks[i]->GetString("Shape"); - AddDetector(Pos,Shape); - } - else if(blocks[i]->HasTokenList(sphe)){ - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << endl << "//// Dali " << i+1 << endl; - double R = blocks[i]->GetDouble("R","mm"); - double Theta = blocks[i]->GetDouble("Theta","deg"); - double Phi = blocks[i]->GetDouble("Phi","deg"); - string Shape = blocks[i]->GetString("Shape"); - AddDetector(R,Theta,Phi,Shape); - } - else{ - cout << "ERROR: check your input file formatting " << endl; - exit(1); - } - } -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -// Construct detector and inialise sensitive part. -// Called After DetecorConstruction::AddDetector Method -void Dali::ConstructDetector(G4LogicalVolume* world){ - for (unsigned short i = 0 ; i < m_R.size() ; i++) { - - G4double wX = m_R[i] * sin(m_Theta[i] ) * cos(m_Phi[i] ) ; - G4double wY = m_R[i] * sin(m_Theta[i] ) * sin(m_Phi[i] ) ; - G4double wZ = m_R[i] * cos(m_Theta[i] ) ; - G4ThreeVector Det_pos = G4ThreeVector(wX, wY, wZ) ; - // So the face of the detector is at R instead of the middle - Det_pos+=Det_pos.unit()*Dali_NS::Thickness*0.5; - // Building Detector reference frame - G4double ii = cos(m_Theta[i]) * cos(m_Phi[i]); - G4double jj = cos(m_Theta[i]) * sin(m_Phi[i]); - G4double kk = -sin(m_Theta[i]); - G4ThreeVector Y(ii,jj,kk); - G4ThreeVector w = Det_pos.unit(); - G4ThreeVector u = w.cross(Y); - G4ThreeVector v = w.cross(u); - v = v.unit(); - u = u.unit(); - - G4RotationMatrix* Rot = new G4RotationMatrix(u,v,w); - - if(m_Shape[i] == "Cylindrical"){ - new G4PVPlacement(G4Transform3D(*Rot,Det_pos), - BuildCylindricalDetector(), - "Dali",world,false,i+1); - } - - else if(m_Shape[i] == "Square"){ - new G4PVPlacement(G4Transform3D(*Rot,Det_pos), - BuildSquareDetector(), - "Dali",world,false,i+1); - } - } -} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Add Detector branch to the EventTree. -// Called After DetecorConstruction::AddDetector Method -void Dali::InitializeRootOutput(){ - RootOutput *pAnalysis = RootOutput::getInstance(); - TTree *pTree = pAnalysis->GetTree(); - if(!pTree->FindBranch("Dali")){ - pTree->Branch("Dali", "TDaliData", &m_Event) ; - } - pTree->SetBranchAddress("Dali", &m_Event) ; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// Read sensitive part and fill the Root tree. -// Called at in the EventAction::EndOfEventAvtion -void Dali::ReadSensitive(const G4Event* ){ - m_Event->Clear(); - - /////////// - // Calorimeter scorer - CalorimeterScorers::PS_Calorimeter* Scorer= (CalorimeterScorers::PS_Calorimeter*) m_DaliScorer->GetPrimitive(0); - - unsigned int size = Scorer->GetMult(); - for(unsigned int i = 0 ; i < size ; i++){ - vector<unsigned int> level = Scorer->GetLevel(i); - double Energy = RandGauss::shoot(Scorer->GetEnergy(i),Dali_NS::ResoEnergy); - if(Energy>Dali_NS::EnergyThreshold){ - double Time = RandGauss::shoot(Scorer->GetTime(i),Dali_NS::ResoTime); - int DetectorNbr = level[0]; - m_Event->SetEnergy(DetectorNbr,Energy); - m_Event->SetTime(DetectorNbr,Time); - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//////////////////////////////////////////////////////////////// -void Dali::InitializeScorers() { - // This check is necessary in case the geometry is reloaded - bool already_exist = false; - m_DaliScorer = CheckScorer("DaliScorer",already_exist) ; - - if(already_exist) - return ; - - // Otherwise the scorer is initialised - vector<int> level; level.push_back(0); - G4VPrimitiveScorer* Calorimeter= new CalorimeterScorers::PS_Calorimeter("Calorimeter",level, 0) ; - G4VPrimitiveScorer* Interaction= new InteractionScorers::PS_Interactions("Interaction",ms_InterCoord, 0) ; - //and register it to the multifunctionnal detector - m_DaliScorer->RegisterPrimitive(Calorimeter); - m_DaliScorer->RegisterPrimitive(Interaction); - G4SDManager::GetSDMpointer()->AddNewDetector(m_DaliScorer) ; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//////////////////////////////////////////////////////////////////////////////// -// Construct Method to be pass to the DetectorFactory // -//////////////////////////////////////////////////////////////////////////////// -NPS::VDetector* Dali::Construct(){ - return (NPS::VDetector*) new Dali(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//////////////////////////////////////////////////////////////////////////////// -// Registering the construct method to the factory // -//////////////////////////////////////////////////////////////////////////////// -extern"C" { - class proxy_nps_Dali{ - public: - proxy_nps_Dali(){ - NPS::DetectorFactory::getInstance()->AddToken("Dali","Dali"); - NPS::DetectorFactory::getInstance()->AddDetector("Dali",Dali::Construct); - } - }; - - proxy_nps_Dali p_nps_Dali; -} diff --git a/NPSimulation/Detectors/Dali/Dali.hh b/NPSimulation/Detectors/Dali/Dali.hh index 601a021de82e2e32760ac010b6e9a2370b928c79..2da7f65861611b9157b8b92a4a9ecf012c10de54 100644 --- a/NPSimulation/Detectors/Dali/Dali.hh +++ b/NPSimulation/Detectors/Dali/Dali.hh @@ -63,9 +63,15 @@ class Dali : public NPS::VDetector{ private: G4LogicalVolume* m_SquareDetector; G4LogicalVolume* m_SquareDetector_Can; + G4LogicalVolume* m_Square2Detector_Can; G4LogicalVolume* m_CylindricalDetector; G4LogicalVolume* m_SquareDetector_CanMgO; G4LogicalVolume* m_SquareDetector_Crystal; + G4LogicalVolume* lAlPMT; + G4LogicalVolume* lMuPMT; + G4LogicalVolume* lTopPlatePMT; + G4LogicalVolume* lGlassPMT; + G4LogicalVolume* AriaExtrude; G4LogicalVolume* Logic_ArrayDali_1; //////////////////////////////////////////////////// diff --git a/NPSimulation/Detectors/Dali/Dali.hh.~1~ b/NPSimulation/Detectors/Dali/Dali.hh.~1~ deleted file mode 100644 index 2a0df874836328a57c77b2c38903d99fc026a850..0000000000000000000000000000000000000000 --- a/NPSimulation/Detectors/Dali/Dali.hh.~1~ +++ /dev/null @@ -1,117 +0,0 @@ -#ifndef Dali_h -#define Dali_h 1 -/***************************************************************************** - * Copyright (C) 2009-2018 this file is part of the NPTool Project * - * * - * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * - * For the list of contributors see $NPTOOL/Licence/Contributors * - *****************************************************************************/ - -/***************************************************************************** - * Original Author: Elidiano Tronchin contact address: elidiano.tronchin@studenti.unipd.it * - * * - * Creation Date : septembre 2018 * - * Last update : * - *---------------------------------------------------------------------------* - * Decription: * - * This class describe Dali simulation * - * * - *---------------------------------------------------------------------------* - * Comment: * - * * - *****************************************************************************/ - -// C++ header -#include <string> -#include <vector> -using namespace std; - -// G4 headers -#include "G4ThreeVector.hh" -#include "G4RotationMatrix.hh" -#include "G4LogicalVolume.hh" -#include "G4MultiFunctionalDetector.hh" - -// NPTool header -#include "NPSVDetector.hh" -#include "TDaliData.h" -#include "NPInputParser.h" - -class Dali : public NPS::VDetector{ - //////////////////////////////////////////////////// - /////// Default Constructor and Destructor ///////// - //////////////////////////////////////////////////// - public: - Dali() ; - virtual ~Dali() ; - - //////////////////////////////////////////////////// - /////// Specific Function of this Class /////////// - //////////////////////////////////////////////////// - public: - // Cartesian - void AddDetector(G4ThreeVector POS, string Shape); - // Spherical - void AddDetector(double R,double Theta,double Phi,string Shape); - - - G4LogicalVolume* BuildSquareDetector(); - G4LogicalVolume* BuildCylindricalDetector(); - - private: - G4LogicalVolume* m_SquareDetector; - G4LogicalVolume* m_CylindricalDetector; - - //////////////////////////////////////////////////// - ////// Inherite from NPS::VDetector class ///////// - //////////////////////////////////////////////////// - public: - // Read stream at Configfile to pick-up parameters of detector (Position,...) - // Called in DetecorConstruction::ReadDetextorConfiguration Method - void ReadConfiguration(NPL::InputParser) ; - - // Construct detector and inialise sensitive part. - // Called After DetecorConstruction::AddDetector Method - void ConstructDetector(G4LogicalVolume* world) ; - - // Add Detector branch to the EventTree. - // Called After DetecorConstruction::AddDetector Method - void InitializeRootOutput() ; - - // Read sensitive part and fill the Root tree. - // Called at in the EventAction::EndOfEventAvtion - void ReadSensitive(const G4Event* event) ; - - public: // Scorer - // Initialize all Scorer used by the MUST2Array - void InitializeScorers() ; - - // Associated Scorer - G4MultiFunctionalDetector* m_DaliScorer ; - //////////////////////////////////////////////////// - ///////////Event class to store Data//////////////// - //////////////////////////////////////////////////// - private: - TDaliData* m_Event ; - - //////////////////////////////////////////////////// - ///////////////Private intern Data////////////////// - //////////////////////////////////////////////////// - private: // Geometry - // Detector Coordinate - vector<double> m_R; - vector<double> m_Theta; - vector<double> m_Phi; - - // Shape type - vector<string> m_Shape ; - - // Visualisation Attribute - G4VisAttributes* m_VisSquare; - G4VisAttributes* m_VisCylinder; - - // Needed for dynamic loading of the library - public: - static NPS::VDetector* Construct(); -}; -#endif diff --git a/NPSimulation/Detectors/Dali/Dali.hh.~2~ b/NPSimulation/Detectors/Dali/Dali.hh.~2~ deleted file mode 100644 index ddbb44ac30f6946bda987e15c099cce89f2a1c20..0000000000000000000000000000000000000000 --- a/NPSimulation/Detectors/Dali/Dali.hh.~2~ +++ /dev/null @@ -1,119 +0,0 @@ -#ifndef Dali_h -#define Dali_h 1 -/***************************************************************************** - * Copyright (C) 2009-2018 this file is part of the NPTool Project * - * * - * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * - * For the list of contributors see $NPTOOL/Licence/Contributors * - *****************************************************************************/ - -/***************************************************************************** - * Original Author: Elidiano Tronchin contact address: elidiano.tronchin@studenti.unipd.it * - * * - * Creation Date : septembre 2018 * - * Last update : * - *---------------------------------------------------------------------------* - * Decription: * - * This class describe Dali simulation * - * * - *---------------------------------------------------------------------------* - * Comment: * - * * - *****************************************************************************/ - -// C++ header -#include <string> -#include <vector> -using namespace std; - -// G4 headers -#include "G4ThreeVector.hh" -#include "G4RotationMatrix.hh" -#include "G4LogicalVolume.hh" -#include "G4MultiFunctionalDetector.hh" - -// NPTool header -#include "NPSVDetector.hh" -#include "TDaliData.h" -#include "NPInputParser.h" - -class Dali : public NPS::VDetector{ - //////////////////////////////////////////////////// - /////// Default Constructor and Destructor ///////// - //////////////////////////////////////////////////// - public: - Dali() ; - virtual ~Dali() ; - - //////////////////////////////////////////////////// - /////// Specific Function of this Class /////////// - //////////////////////////////////////////////////// - public: - // Cartesian - void AddDetector(G4ThreeVector POS, string Shape); - // Spherical - void AddDetector(double R,double Theta,double Phi,string Shape); - - - G4LogicalVolume* BuildSquareDetector(); - G4LogicalVolume* BuildCylindricalDetector(); - - private: - G4LogicalVolume* m_SquareDetector; - G4LogicalVolume* m_SquareDetector_Can; - G4LogicalVolume* m_CylindricalDetector; - G4LogicalVolume* m_SquareDetector_CanMgO; - - //////////////////////////////////////////////////// - ////// Inherite from NPS::VDetector class ///////// - //////////////////////////////////////////////////// - public: - // Read stream at Configfile to pick-up parameters of detector (Position,...) - // Called in DetecorConstruction::ReadDetextorConfiguration Method - void ReadConfiguration(NPL::InputParser) ; - - // Construct detector and inialise sensitive part. - // Called After DetecorConstruction::AddDetector Method - void ConstructDetector(G4LogicalVolume* world) ; - - // Add Detector branch to the EventTree. - // Called After DetecorConstruction::AddDetector Method - void InitializeRootOutput() ; - - // Read sensitive part and fill the Root tree. - // Called at in the EventAction::EndOfEventAvtion - void ReadSensitive(const G4Event* event) ; - - public: // Scorer - // Initialize all Scorer used by the MUST2Array - void InitializeScorers() ; - - // Associated Scorer - G4MultiFunctionalDetector* m_DaliScorer ; - //////////////////////////////////////////////////// - ///////////Event class to store Data//////////////// - //////////////////////////////////////////////////// - private: - TDaliData* m_Event ; - - //////////////////////////////////////////////////// - ///////////////Private intern Data////////////////// - //////////////////////////////////////////////////// - private: // Geometry - // Detector Coordinate - vector<double> m_R; - vector<double> m_Theta; - vector<double> m_Phi; - - // Shape type - vector<string> m_Shape ; - - // Visualisation Attribute - G4VisAttributes* m_VisSquare; - G4VisAttributes* m_VisCylinder; - - // Needed for dynamic loading of the library - public: - static NPS::VDetector* Construct(); -}; -#endif diff --git a/NPSimulation/Detectors/Dali/Dali.hh.~3~ b/NPSimulation/Detectors/Dali/Dali.hh.~3~ deleted file mode 100644 index 3e37e84519fd2c0c15e6a47409b7b7f97fdb166b..0000000000000000000000000000000000000000 --- a/NPSimulation/Detectors/Dali/Dali.hh.~3~ +++ /dev/null @@ -1,121 +0,0 @@ -#ifndef Dali_h -#define Dali_h 1 -/***************************************************************************** - * Copyright (C) 2009-2018 this file is part of the NPTool Project * - * * - * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * - * For the list of contributors see $NPTOOL/Licence/Contributors * - *****************************************************************************/ - -/***************************************************************************** - * Original Author: Elidiano Tronchin contact address: elidiano.tronchin@studenti.unipd.it * - * * - * Creation Date : septembre 2018 * - * Last update : * - *---------------------------------------------------------------------------* - * Decription: * - * This class describe Dali simulation * - * * - *---------------------------------------------------------------------------* - * Comment: * - * * - *****************************************************************************/ - -// C++ header -#include <string> -#include <vector> -using namespace std; - -// G4 headers -#include "G4ThreeVector.hh" -#include "G4RotationMatrix.hh" -#include "G4LogicalVolume.hh" -#include "G4MultiFunctionalDetector.hh" - -// NPTool header -#include "NPSVDetector.hh" -#include "TDaliData.h" -#include "NPInputParser.h" - -class Dali : public NPS::VDetector{ - //////////////////////////////////////////////////// - /////// Default Constructor and Destructor ///////// - //////////////////////////////////////////////////// - public: - Dali() ; - virtual ~Dali() ; - - //////////////////////////////////////////////////// - /////// Specific Function of this Class /////////// - //////////////////////////////////////////////////// - public: - // Cartesian - void AddDetector(G4ThreeVector POS, string Shape); - // Spherical - void AddDetector(double R,double Theta,double Phi,string Shape); - - - G4LogicalVolume* BuildSquareDetector(); - G4LogicalVolume* BuildCylindricalDetector(); - - private: - G4LogicalVolume* m_SquareDetector; - G4LogicalVolume* m_SquareDetector_Can; - G4LogicalVolume* m_CylindricalDetector; - G4LogicalVolume* m_SquareDetector_CanMgO; - G4LogicalVolume* m_SquareDetector_Crystal; - G4LogicalVolume* Logic_ArrayDali_1; - - //////////////////////////////////////////////////// - ////// Inherite from NPS::VDetector class ///////// - //////////////////////////////////////////////////// - public: - // Read stream at Configfile to pick-up parameters of detector (Position,...) - // Called in DetecorConstruction::ReadDetextorConfiguration Method - void ReadConfiguration(NPL::InputParser) ; - - // Construct detector and inialise sensitive part. - // Called After DetecorConstruction::AddDetector Method - void ConstructDetector(G4LogicalVolume* world) ; - - // Add Detector branch to the EventTree. - // Called After DetecorConstruction::AddDetector Method - void InitializeRootOutput() ; - - // Read sensitive part and fill the Root tree. - // Called at in the EventAction::EndOfEventAvtion - void ReadSensitive(const G4Event* event) ; - - public: // Scorer - // Initialize all Scorer used by the MUST2Array - void InitializeScorers() ; - - // Associated Scorer - G4MultiFunctionalDetector* m_DaliScorer ; - //////////////////////////////////////////////////// - ///////////Event class to store Data//////////////// - //////////////////////////////////////////////////// - private: - TDaliData* m_Event ; - - //////////////////////////////////////////////////// - ///////////////Private intern Data////////////////// - //////////////////////////////////////////////////// - private: // Geometry - // Detector Coordinate - vector<double> m_R; - vector<double> m_Theta; - vector<double> m_Phi; - - // Shape type - vector<string> m_Shape ; - - // Visualisation Attribute - G4VisAttributes* m_VisSquare; - G4VisAttributes* m_VisCylinder; - - // Needed for dynamic loading of the library - public: - static NPS::VDetector* Construct(); -}; -#endif diff --git a/NPSimulation/Detectors/Dali/Dali.hh.~4~ b/NPSimulation/Detectors/Dali/Dali.hh.~4~ deleted file mode 100644 index 3bb254f29d76ccc7639fc1c716998c230b0f6cd2..0000000000000000000000000000000000000000 --- a/NPSimulation/Detectors/Dali/Dali.hh.~4~ +++ /dev/null @@ -1,122 +0,0 @@ -#ifndef Dali_h -#define Dali_h 1 -/***************************************************************************** - * Copyright (C) 2009-2018 this file is part of the NPTool Project * - * * - * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * - * For the list of contributors see $NPTOOL/Licence/Contributors * - *****************************************************************************/ - -/***************************************************************************** - * Original Author: Elidiano Tronchin contact address: elidiano.tronchin@studenti.unipd.it * - * * - * Creation Date : septembre 2018 * - * Last update : * - *---------------------------------------------------------------------------* - * Decription: * - * This class describe Dali simulation * - * * - *---------------------------------------------------------------------------* - * Comment: * - * * - *****************************************************************************/ - -// C++ header -#include <string> -#include <vector> -using namespace std; - -// G4 headers -#include "G4ThreeVector.hh" -#include "G4RotationMatrix.hh" -#include "G4LogicalVolume.hh" -#include "G4MultiFunctionalDetector.hh" - -// NPTool header -#include "NPSVDetector.hh" -#include "TDaliData.h" -#include "NPInputParser.h" - -class Dali : public NPS::VDetector{ - //////////////////////////////////////////////////// - /////// Default Constructor and Destructor ///////// - //////////////////////////////////////////////////// - public: - Dali() ; - virtual ~Dali() ; - - //////////////////////////////////////////////////// - /////// Specific Function of this Class /////////// - //////////////////////////////////////////////////// - public: - // Cartesian - void AddDetector(G4ThreeVector POS, string Shape); - // Spherical - void AddDetector(double R,double Theta,double Phi,string Shape); - //Cylindrical - void AddDetector(double R,double Alpha,double Zeta,string Shape); - - G4LogicalVolume* BuildSquareDetector(); - G4LogicalVolume* BuildCylindricalDetector(); - - private: - G4LogicalVolume* m_SquareDetector; - G4LogicalVolume* m_SquareDetector_Can; - G4LogicalVolume* m_CylindricalDetector; - G4LogicalVolume* m_SquareDetector_CanMgO; - G4LogicalVolume* m_SquareDetector_Crystal; - G4LogicalVolume* Logic_ArrayDali_1; - - //////////////////////////////////////////////////// - ////// Inherite from NPS::VDetector class ///////// - //////////////////////////////////////////////////// - public: - // Read stream at Configfile to pick-up parameters of detector (Position,...) - // Called in DetecorConstruction::ReadDetextorConfiguration Method - void ReadConfiguration(NPL::InputParser) ; - - // Construct detector and inialise sensitive part. - // Called After DetecorConstruction::AddDetector Method - void ConstructDetector(G4LogicalVolume* world) ; - - // Add Detector branch to the EventTree. - // Called After DetecorConstruction::AddDetector Method - void InitializeRootOutput() ; - - // Read sensitive part and fill the Root tree. - // Called at in the EventAction::EndOfEventAvtion - void ReadSensitive(const G4Event* event) ; - - public: // Scorer - // Initialize all Scorer used by the MUST2Array - void InitializeScorers() ; - - // Associated Scorer - G4MultiFunctionalDetector* m_DaliScorer ; - //////////////////////////////////////////////////// - ///////////Event class to store Data//////////////// - //////////////////////////////////////////////////// - private: - TDaliData* m_Event ; - - //////////////////////////////////////////////////// - ///////////////Private intern Data////////////////// - //////////////////////////////////////////////////// - private: // Geometry - // Detector Coordinate - vector<double> m_R; - vector<double> m_Zeta; - vector<double> m_Alpha; - - // Shape type - vector<string> m_Shape ; - - // Visualisation Attribute - G4VisAttributes* m_VisSquare; - G4VisAttributes* m_VisCylinder; - - // Needed for dynamic loading of the library - public: - static NPS::VDetector* Construct(); -}; -#endif diff --git a/NPSimulation/Detectors/Dali/Dali.hh.~5~ b/NPSimulation/Detectors/Dali/Dali.hh.~5~ deleted file mode 100644 index e33d910378e3b3b0ef8d92ad5a87a69404d29142..0000000000000000000000000000000000000000 --- a/NPSimulation/Detectors/Dali/Dali.hh.~5~ +++ /dev/null @@ -1,123 +0,0 @@ -#ifndef Dali_h -#define Dali_h 1 -/***************************************************************************** - * Copyright (C) 2009-2018 this file is part of the NPTool Project * - * * - * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * - * For the list of contributors see $NPTOOL/Licence/Contributors * - *****************************************************************************/ - -/***************************************************************************** - * Original Author: Elidiano Tronchin contact address: elidiano.tronchin@studenti.unipd.it * - * * - * Creation Date : septembre 2018 * - * Last update : * - *---------------------------------------------------------------------------* - * Decription: * - * This class describe Dali simulation * - * * - *---------------------------------------------------------------------------* - * Comment: * - * * - *****************************************************************************/ - -// C++ header -#include <string> -#include <vector> -#include <cmath> -using namespace std; - -// G4 headers -#include "G4ThreeVector.hh" -#include "G4RotationMatrix.hh" -#include "G4LogicalVolume.hh" -#include "G4MultiFunctionalDetector.hh" - -// NPTool header -#include "NPSVDetector.hh" -#include "TDaliData.h" -#include "NPInputParser.h" - -class Dali : public NPS::VDetector{ - //////////////////////////////////////////////////// - /////// Default Constructor and Destructor ///////// - //////////////////////////////////////////////////// - public: - Dali() ; - virtual ~Dali() ; - - //////////////////////////////////////////////////// - /////// Specific Function of this Class /////////// - //////////////////////////////////////////////////// - public: - // Cartesian - void AddDetector(G4ThreeVector POS, string Shape); - // Spherical - void AddDetector(double R,double Theta,double Phi,string Shape); - //Cylindrical - void AddDetector2(double R,double Alpha,double Zeta,string Shape); - - G4LogicalVolume* BuildSquareDetector(); - G4LogicalVolume* BuildCylindricalDetector(); - - private: - G4LogicalVolume* m_SquareDetector; - G4LogicalVolume* m_SquareDetector_Can; - G4LogicalVolume* m_CylindricalDetector; - G4LogicalVolume* m_SquareDetector_CanMgO; - G4LogicalVolume* m_SquareDetector_Crystal; - G4LogicalVolume* Logic_ArrayDali_1; - - //////////////////////////////////////////////////// - ////// Inherite from NPS::VDetector class ///////// - //////////////////////////////////////////////////// - public: - // Read stream at Configfile to pick-up parameters of detector (Position,...) - // Called in DetecorConstruction::ReadDetextorConfiguration Method - void ReadConfiguration(NPL::InputParser) ; - - // Construct detector and inialise sensitive part. - // Called After DetecorConstruction::AddDetector Method - void ConstructDetector(G4LogicalVolume* world) ; - - // Add Detector branch to the EventTree. - // Called After DetecorConstruction::AddDetector Method - void InitializeRootOutput() ; - - // Read sensitive part and fill the Root tree. - // Called at in the EventAction::EndOfEventAvtion - void ReadSensitive(const G4Event* event) ; - - public: // Scorer - // Initialize all Scorer used by the MUST2Array - void InitializeScorers() ; - - // Associated Scorer - G4MultiFunctionalDetector* m_DaliScorer ; - //////////////////////////////////////////////////// - ///////////Event class to store Data//////////////// - //////////////////////////////////////////////////// - private: - TDaliData* m_Event ; - - //////////////////////////////////////////////////// - ///////////////Private intern Data////////////////// - //////////////////////////////////////////////////// - private: // Geometry - // Detector Coordinate - vector<double> m_Zeta; - vector<double> m_R; - vector<double> m_Alpha; - - // Shape type - vector<string> m_Shape ; - - // Visualisation Attribute - G4VisAttributes* m_VisSquare; - G4VisAttributes* m_VisCylinder; - - // Needed for dynamic loading of the library - public: - static NPS::VDetector* Construct(); -}; -#endif diff --git a/NPSimulation/Detectors/Dali/nomeoke.C b/NPSimulation/Detectors/Dali/nomeoke.C deleted file mode 100644 index 472031271a0da973e246a78598b2b09feaac2fcb..0000000000000000000000000000000000000000 --- a/NPSimulation/Detectors/Dali/nomeoke.C +++ /dev/null @@ -1,4 +0,0 @@ -void nomeoke() -{ - TEveManager::Create(); -} diff --git a/NPSimulation/Detectors/LightPipe/LightPipe.cc b/NPSimulation/Detectors/LightPipe/LightPipe.cc index f29b9ac21eac8f226e375a8fcdc3e0ebed98f947..c9465f09ded7f55d798f72e90712e83ccef29ab3 100644 --- a/NPSimulation/Detectors/LightPipe/LightPipe.cc +++ b/NPSimulation/Detectors/LightPipe/LightPipe.cc @@ -168,25 +168,25 @@ void LightPipe::ConstructDetector(G4LogicalVolume* world){ return (i - (imax/2.))*width + width/2.; }; - int i=0, j=0, k=0; + //int i=0, j=0, k=0; - int iPipeX=1, iPipeY=1, iDet=1; + int iPipeX=1,/* iPipeY=1,*/ iDet=1; for(const auto& det : m_Detector) { const G4int& nrow = get<0>(det); const G4int& ncol = get<1>(det); - const G4int& nlayer = get<2>(det); + //const G4int& nlayer = get<2>(det); const G4double& width = get<3>(det); const G4double& thickness = get<4>(det); const G4double& pipe_width = get<5>(det); const G4double& pipe_thickness = get<6>(det); - const G4double pd_thickness = 1*mm; + //const G4double pd_thickness = 1*mm; vector<vector<G4PVPlacement*> > physVol(nrow); for(auto& v : physVol) { v.resize(ncol); } auto buildRow = [&](G4int irow, G4double z){ - G4double rowWidthX = nrow*width; + //G4double rowWidthX = nrow*width; G4double pipe_length = width*ncol + 1*cm; // // Build light pipe above detectors @@ -201,7 +201,7 @@ void LightPipe::ConstructDetector(G4LogicalVolume* world){ G4RotationMatrix* myRotation = new G4RotationMatrix(); myRotation->rotateX(90.*deg); // Create PV Placement - G4PVPlacement* pv = new G4PVPlacement( + new G4PVPlacement( myRotation, pipePos, pipe, "LightPipe_PipeX", world, false, iPipeX++, warnOverlap); std::vector<G4PVPlacement*> pvRow; diff --git a/NPSimulation/Detectors/Miniball/Miniball.cc b/NPSimulation/Detectors/Miniball/Miniball.cc index ac37555485b2cd29a4016be9ad118ea742171c76..0da1686617c935f21e1078cbc970f3337309f91d 100644 --- a/NPSimulation/Detectors/Miniball/Miniball.cc +++ b/NPSimulation/Detectors/Miniball/Miniball.cc @@ -238,7 +238,7 @@ void Miniball::InitializeRootOutput(){ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // Read sensitive part and fill the Root tree. // Called at in the EventAction::EndOfEventAvtion -void Miniball::ReadSensitive(const G4Event* event){ +void Miniball::ReadSensitive(const G4Event* ){ m_Event->Clear(); /////////// diff --git a/NPSimulation/Detectors/Minos/CMakeLists.txt b/NPSimulation/Detectors/Minos/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..2803176c5f6e1ffc62e9ef2a8ff5ce08ce00aea0 --- /dev/null +++ b/NPSimulation/Detectors/Minos/CMakeLists.txt @@ -0,0 +1,2 @@ +add_library(NPSMinos SHARED Minos.cc) +target_link_libraries(NPSMinos NPSCore ${ROOT_LIBRARIES} ${Geant4_LIBRARIES} ${NPLib_LIBRARIES} -lNPMinos) diff --git a/NPSimulation/Detectors/Minos/Minos.cc b/NPSimulation/Detectors/Minos/Minos.cc new file mode 100644 index 0000000000000000000000000000000000000000..66675805e5c1e7d411fc162352431c990c1a40af --- /dev/null +++ b/NPSimulation/Detectors/Minos/Minos.cc @@ -0,0 +1,911 @@ +/***************************************************************************** + * Copyright (C) 2009-2018 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: E. Tronchin contact address: tronchin@lpccaen.in2p3.fr * + * * + * Creation Date : October 2018 * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: * + * This class describe Minos simulation * + * * + *---------------------------------------------------------------------------* + * Comment: * + * * + *****************************************************************************/ + +// C++ headers +#include <sstream> +#include <cmath> +#include <limits> +//G4 Geometry object +#include "G4Tubs.hh" +#include "G4Box.hh" + +//G4 sensitive +#include "G4SDManager.hh" +#include "G4MultiFunctionalDetector.hh" + +//G4 various object +#include "G4Material.hh" +#include "G4Transform3D.hh" +#include "G4PVPlacement.hh" +#include "G4VisAttributes.hh" +#include "G4Colour.hh" + +// NPTool header +#include "Minos.hh" +#include "CalorimeterScorers.hh" +#include "InteractionScorers.hh" +#include "TPCScorers.hh" + +#include "RootOutput.h" +#include "MaterialManager.hh" +#include "NPSDetectorFactory.hh" +#include "NPOptionManager.h" +#include "NPSHitsMap.hh" +// CLHEP header +#include "CLHEP/Random/RandGauss.h" + +using namespace std; +using namespace CLHEP; + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +namespace Minos_NS{ + // Energy and time Resolution + const double EnergyThreshold = 0.1*MeV; + const double ResoTime = 4.5*ns ; + const double ResoEnergy = 1.0*MeV ; + const double Radius = 50*mm ; + const double Width = 100*mm ; + const double Thickness = 300*mm ; + const string Material = "BC400"; + +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// Minos Specific Method +Minos::Minos(){ + m_Event = new TMinosData() ; + m_MinosTargetScorer = 0; + m_MinosTPCScorer = 0; + m_SquareDetector = 0; + m_CylindricalDetector = 0; + m_ReactionRegion=NULL; + + // RGB Color + Transparency + m_VisSquare = new G4VisAttributes(G4Colour(0, 1, 0, 0.5)); + m_VisCylinder = new G4VisAttributes(G4Colour(0, 0, 1, 0.5)); + solidTarget=0; + logicTarget=0; + solidChamber=0; + logicChamber=0; + solidTPC=0; + logicTPC=0; + solidWindow0=0; + logicWindow0=0; + solidWindow1=0; + logicWindow1=0; + solidWindow2=0; + logicWindow2=0; + solidInnerRohacell=0; + logicInnerRohacell=0; + solidOuterRohacell=0; + logicOuterRohacell=0; + solidKapton=0; + logicKapton=0; + +} + +Minos::~Minos(){ +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void Minos::AddDetector(G4ThreeVector POS, double TargetLength){ + // Convert the POS value to R theta Phi as Spherical coordinate is easier in G4 + m_R.push_back(POS.mag()); + m_Theta.push_back(POS.theta()); + m_Phi.push_back(POS.phi()); + m_TargetLength.push_back(TargetLength); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void Minos::AddDetector(double R, double Theta, double Phi, double TargetLength){ + m_R.push_back(R); + m_Theta.push_back(Theta); + m_Phi.push_back(Phi); + m_TargetLength.push_back(TargetLength); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// G4LogicalVolume* Minos::BuildSquareDetector(){ +// if(!m_SquareDetector){ +// G4Box* box = new G4Box("Minos_Box",Minos_NS::Width*0.5, +// Minos_NS::Width*0.5,Minos_NS::Thickness*0.5); + +// G4Material* DetectorMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary(Minos_NS::Material); +// m_SquareDetector = new G4LogicalVolume(box,DetectorMaterial,"logic_Minos_Box",0,0,0); +// m_SquareDetector->SetVisAttributes(m_VisSquare); +// m_SquareDetector->SetSensitiveDetector(m_MinosTargetScorer); +// } +// return m_SquareDetector; +// } + + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void Minos::DefineMaterials() +{ + //This function illustrates the possible ways to define materials + + G4String symbol; //a=mass of a mole; + G4double a, z, density; //z=mean number of protons; + + G4int ncomponents, natoms; + G4double fractionmass; + + // + // define Elements + // + + + G4Element* H = new G4Element("Hydrogen",symbol="H" , z= 1., a= 1.01*g/mole); + G4Element* C = new G4Element("Carbon" ,symbol="C" , z= 6., a= 12.01*g/mole); + G4Element* F = new G4Element("Fluorin" ,symbol="F" , z= 9., a= 19.0*g/mole); + G4Element* N = new G4Element("Nitrogen",symbol="N" , z= 7., a= 14.01*g/mole); + G4Element* O = new G4Element("Oxygen" ,symbol="O" , z= 8., a= 16.00*g/mole); + G4Element* Ar = new G4Element("Argon", symbol="Ar", z=18, a=39.948*g/mole); + G4Element* Fe = new G4Element("Fer",symbol="Fe" , z= 26., a= 55.9*g/mole); + G4Element* Cr = new G4Element("Chrome",symbol="Cr" , z= 24., a= 52.*g/mole); + + + new G4Material("Aluminium", z=13., a=26.98*g/mole, density=2.700*g/cm3); + new G4Material("liquidArgon", z=18., a= 39.95*g/mole, density= 1.390*g/cm3); + new G4Material("Lead" , z=82., a= 207.19*g/mole, density= 11.35*g/cm3); + new G4Material("Silicium", z=14., a=28.09*g/mole, density=2.330*g/cm3); + new G4Material("Titanium", z=22., a=47.87*g/mole, density=4.510*g/cm3); + + + + G4Material* iso = new G4Material("isobutane", density=0.002506*g/cm3, ncomponents=2); + iso->AddElement(C, natoms=4); + iso->AddElement(H, natoms=10); + G4Material* CF4 = + new G4Material("CF4", density= 0.0036586*g/cm3, ncomponents=2); + CF4->AddElement(C, natoms=1); + CF4->AddElement(F, natoms=4); + // overwrite computed meanExcitationEnergy with ICRU recommended value + CF4->GetIonisation()->SetMeanExcitationEnergy(20.0*eV); + G4Material* mix = + new G4Material("mix", density= 0.0019836*g/cm3, ncomponents=3); + mix->AddMaterial(CF4, fractionmass=15.*perCent); + mix->AddMaterial(iso, fractionmass=3.*perCent); + mix->AddElement(Ar, fractionmass=82.*perCent); + // overwrite computed meanExcitationEnergy with ICRU recommended value + mix->GetIonisation()->SetMeanExcitationEnergy(25.0*eV); + + G4Material* Ar_CF4_95_5 = + new G4Material("Ar_CF4_95_5", density= 0.0017611*g/cm3, ncomponents=2); + Ar_CF4_95_5->AddMaterial(CF4, fractionmass=5.*perCent); + Ar_CF4_95_5->AddElement(Ar, fractionmass=95.*perCent); + Ar_CF4_95_5->GetIonisation()->SetMeanExcitationEnergy(30.0*eV); + + G4Material* Ar_CF4_90_10 = + new G4Material("Ar_CF4_90_10", density= 0.0018610*g/cm3, ncomponents=2); + Ar_CF4_90_10->AddMaterial(CF4, fractionmass=10.*perCent); + Ar_CF4_90_10->AddElement(Ar, fractionmass=90.*perCent); + Ar_CF4_90_10->GetIonisation()->SetMeanExcitationEnergy(25.0*eV); + + G4Material* Ar_iso_97_3 = + new G4Material("Ar_iso_97_3", density= 0.0016838*g/cm3, ncomponents=2); + Ar_iso_97_3->AddMaterial(iso, fractionmass=3.*perCent); + Ar_iso_97_3->AddElement(Ar, fractionmass=97.*perCent); + Ar_iso_97_3->GetIonisation()->SetMeanExcitationEnergy(25.0*eV); + + G4Material* Ar_iso_95_5 = + new G4Material("Ar_iso_95_5", density= 0.0016990*g/cm3, ncomponents=2); + Ar_iso_95_5->AddMaterial(iso, fractionmass=5.*perCent); + Ar_iso_95_5->AddElement(Ar, fractionmass=95.*perCent); + Ar_iso_95_5->GetIonisation()->SetMeanExcitationEnergy(25.0*eV); + + G4Material* LH2 = + new G4Material("LH2", density= 0.0715*g/cm3, ncomponents=1); + LH2->AddElement(H, natoms=2); + + G4Material* Myl = + new G4Material("Mylar", density= 1.397*g/cm3, ncomponents=3); + Myl->AddElement(C, natoms=10); + Myl->AddElement(H, natoms= 8); + Myl->AddElement(O, natoms= 4); + + G4Material* Epo = + new G4Material("Epoxy", density= 1.85*g/cm3, ncomponents=3); //density of FR4 (Wikipedia) + Epo->AddElement(C, natoms=18); + Epo->AddElement(H, natoms= 20); + Epo->AddElement(O, natoms= 3); + + G4Material* Air = + new G4Material("Air" , density= 1.290*mg/cm3, ncomponents=3); + Air->AddElement(N, fractionmass=0.781); + Air->AddElement(O, fractionmass=0.21); + Air->AddElement(Ar, fractionmass=0.009); + + + G4Material* Vacuum = + new G4Material("Galactic", z=1., a=1.01*g/mole,density= universe_mean_density, + kStateGas, 2.73*kelvin, 3.e-18*pascal); + + G4Material* beam = + new G4Material("Beam", density= 1.e-5*g/cm3, ncomponents=1, + kStateGas, STP_Temperature, 2.e-2*bar); + beam->AddMaterial(Air, fractionmass=1.); + + G4Material* Inox = + new G4Material("Inox", density= 8.02*g/cm3, ncomponents=3); + Inox->AddElement(C, fractionmass=0.001); + Inox->AddElement(Fe, fractionmass=0.829); + Inox->AddElement(Cr, fractionmass=0.17); + + G4Material* Kapton = + new G4Material("Kapton", density= 1.42*g/cm3, ncomponents=4); + Kapton->AddElement(C, fractionmass=0.691133); + Kapton->AddElement(H, fractionmass=0.026362); + Kapton->AddElement(O, fractionmass=0.209235); + Kapton->AddElement(N, fractionmass=0.073270); + + G4Material* Rohacell = + new G4Material("Rohacell", density= 0.075*g/cm3, ncomponents=4); + Rohacell->AddElement(C, fractionmass=0.6014); + Rohacell->AddElement(H, fractionmass=0.0805); + Rohacell->AddElement(O, fractionmass=0.3154); + Rohacell->AddElement(N, fractionmass=0.00276); + + //G4cout << *(G4Material::GetMaterialTable()) << G4endl; + + //default materials of the World + defaultMaterial = Vacuum; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//SET MATERIALS +void Minos::SetTargetMaterial(G4String materialChoice) +{ + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); + if (pttoMaterial) TargetMaterial = pttoMaterial; +} +void Minos::SetChamberMaterial(G4String materialChoice) +{ + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); + if (pttoMaterial) ChamberMaterial = pttoMaterial; +} + +void Minos::SetTPCMaterial(G4String materialChoice) +{ + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); + if (pttoMaterial) TPCMaterial = pttoMaterial; +} + +void Minos::SetWindowMaterial(G4String materialChoice) +{ + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); + if (pttoMaterial) WindowMaterial = pttoMaterial; +} +void Minos::SetInnerRohacellMaterial(G4String materialChoice) +{ + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); + if (pttoMaterial) InnerRohacellMaterial = pttoMaterial; +} +void Minos::SetOuterRohacellMaterial(G4String materialChoice) +{ + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); + if (pttoMaterial) OuterRohacellMaterial = pttoMaterial; +} +void Minos::SetKaptonMaterial(G4String materialChoice) +{ + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); + if (pttoMaterial) KaptonMaterial = pttoMaterial; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +G4LogicalVolume* Minos::BuildCylindricalDetector(){ + if(!m_CylindricalDetector){ + /* + G4Tubs* tub = new G4Tubs("Minos_Cyl",0,Minos_NS::Radius,Minos_NS::Thickness*0.5,0,360*deg); + + G4Material* DetectorMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary(Minos_NS::Material); + m_CylindricalDetector = new G4LogicalVolume(tub,DetectorMaterial,"logic_Minos_tub",0,0,0); + m_CylindricalDetector->SetVisAttributes(m_VisSquare); + m_CylindricalDetector->SetSensitiveDetector(m_MinosScorer); + */ + + + } + return m_CylindricalDetector; +} + + + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// Below are vis attributes that permits someone to test / play +// with the interactive expansion / contraction geometry system of the +// vis/OpenInventor driver : + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +G4LogicalVolume* Minos::BuildTarget(){ + if(!logicTarget){ + // + // Target + // + solidTarget=0; logicTarget=0; /*physiTarget=0;*/ + solidChamber=0; logicChamber=0; /*physiChamber=0;*/ + solidTPC=0; logicTPC=0; /*physiTPC=0;*/ + + solidTarget = new G4Tubs("Target", //its name + 0.,TargetRadius,TargetLength,0,360.);//size + + logicTarget = new G4LogicalVolume(solidTarget, //its solid + TargetMaterial, //its material + "Target"); //its name + + + {G4VisAttributes* atb= new G4VisAttributes(G4Colour(0.6,1.,1., .4)); + atb->SetForceSolid(true); + logicTarget->SetVisAttributes(atb);} + logicTarget->SetSensitiveDetector(m_MinosTargetScorer); + + + } + return logicTarget; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +G4LogicalVolume* Minos::BuildChamber(){ + if(!logicChamber){ + // + // Chamber + // + solidChamber = new G4Tubs("Chamber", //its name + ChamberInnerRadius,ChamberInnerRadius+ChamberThickness,ChamberLength,0,360.); //size + + logicChamber = new G4LogicalVolume(solidChamber, //its solid + ChamberMaterial, //its material + "Chamber"); //its name + + {G4VisAttributes* simpleBoxVisAtt= new G4VisAttributes(G4Colour(0,1,0,.4)); + simpleBoxVisAtt->SetVisibility(true); + logicChamber->SetVisAttributes(simpleBoxVisAtt);} + + } + return logicChamber; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +G4LogicalVolume* Minos::BuildInnerRohacell(){ + if(!logicInnerRohacell){ + // + // Inner Rohacell + // + solidInnerRohacell = new G4Tubs("InnerRohacell", //its name + ChamberInnerRadius /*+ ChamberThickness*/,ChamberInnerRadius + ChamberThickness+InnerRohacellThickness,ChamberLength,0,360.); //size + + logicInnerRohacell = new G4LogicalVolume(solidInnerRohacell, //its solid + InnerRohacellMaterial, //its material + "InnerRohacell"); //its name + + G4VisAttributes* atb= new G4VisAttributes(G4Colour(1.,1.,1., .4)); + logicInnerRohacell->SetVisAttributes(atb); + + + } + return logicInnerRohacell; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +G4LogicalVolume* Minos::BuildOuterRohacell(){ + if(!logicOuterRohacell){ + // + // Outer Rohacell + // + solidOuterRohacell = new G4Tubs("OuterRohacell", //its name + ChamberInnerRadius /*+ ChamberThickness + InnerRohacellThickness + KaptonThickness*/,ChamberInnerRadius + ChamberThickness + InnerRohacellThickness + KaptonThickness+OuterRohacellThickness,ChamberLength,0,360.); //size + + logicOuterRohacell = new G4LogicalVolume(solidOuterRohacell, //its solid + OuterRohacellMaterial, //its material + "OuterRohacell"); //its name + + G4VisAttributes* atb= new G4VisAttributes(G4Colour(1.,1.,1., .4)); + logicOuterRohacell->SetVisAttributes(atb); + + + } + return logicOuterRohacell; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//I redefine the Rohacell for bigger cylinder +G4LogicalVolume* Minos::BuildOuterOuterRohacell(){ + if(logicOuterRohacell){ + // + // Outer Rohacell + // + solidOuterRohacell = new G4Tubs("OuterRohacell", //its name + TPCRadiusExt-OuterRohacellThickness-KaptonThickness, TPCRadiusExt ,ChamberLength,0,360.); //size + + logicOuterRohacell = new G4LogicalVolume(solidOuterRohacell, //its solid + OuterRohacellMaterial, //its material + "OuterRohacell"); //its name + + G4VisAttributes* atb= new G4VisAttributes(G4Colour(1.,1.,1., .4)); + logicOuterRohacell->SetVisAttributes(atb); + + + } + return logicOuterRohacell; +} + + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +G4LogicalVolume* Minos::BuildKapton(){ + if(!logicKapton){ + // + // Kapton + // + solidKapton = new G4Tubs("Kapton", //its name + ChamberInnerRadius+ ChamberThickness +InnerRohacellThickness ,ChamberInnerRadius + ChamberThickness+InnerRohacellThickness+KaptonThickness,ChamberLength,0,360.); //size + + logicKapton = new G4LogicalVolume(solidKapton, //its solid + KaptonMaterial, //its material + "Kapton"); //its name + + + G4VisAttributes* atb= new G4VisAttributes(G4Colour(1.,1.,1., .4)); + logicKapton->SetVisAttributes(atb); + } + + + return logicKapton; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +G4LogicalVolume* Minos::BuildOuterKapton(){ + if(logicKapton){ + // + // Kapton + // + solidKapton = new G4Tubs("Kapton", //its name + TPCRadiusExt-OuterRohacellThickness-KaptonThickness, TPCRadiusExt-OuterRohacellThickness,ChamberLength,0,360.); //size + + logicKapton = new G4LogicalVolume(solidKapton, //its solid + KaptonMaterial, //its material + "Kapton"); //its name + + + G4VisAttributes* atb= new G4VisAttributes(G4Colour(1.,1.,1., .4)); + logicKapton->SetVisAttributes(atb); + } + + + return logicKapton; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +G4LogicalVolume* Minos::BuildTPC(){ + if(!logicTPC){ + // + // TPC + + solidTPC = new G4Tubs("TPC", //its name + ChamberInnerRadius /*+ ChamberThickness + InnerRohacellThickness + KaptonThickness + OuterRohacellThickness*/,TPCRadiusExt,ChamberLength,0,360.); + + logicTPC = new G4LogicalVolume(solidTPC, //its solid + TPCMaterial, //its material + "TPC"); //name + + + {G4VisAttributes* atb= new G4VisAttributes(G4Colour(1.,1.,0.6)); + logicTPC->SetVisAttributes(atb);} + logicTPC->SetSensitiveDetector(m_MinosTPCScorer); + + } + return logicTPC; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// +// windows +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +G4LogicalVolume* Minos::BuildWindow0(){ + if(!logicWindow0){ + solidWindow0 = new G4Tubs("WindowTube", //its name + 0./*TargetRadius*/,TargetRadius+WindowThickness*2.,TargetLength+WindowThickness*2.,0,360.); // WindowThickness*2. it is multiply by 2 because because it was divided by 2 + + logicWindow0 = new G4LogicalVolume(solidWindow0, //its solid + WindowMaterial, //its material + "WindowTube"); //name + + {G4VisAttributes* atb= new G4VisAttributes(G4Colour(0,0,1, .4)); + atb->SetForceSolid(true); + logicWindow0->SetVisAttributes(atb);} + + + + } + return logicWindow0; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +G4LogicalVolume* Minos::BuildWindow1(){ + if(!logicWindow1){ + solidWindow1 = new G4Tubs("WindowEntrance", //its name + 0.,TargetRadius+2.*WindowThickness,WindowThickness,0,360.); + + logicWindow1 = new G4LogicalVolume(solidWindow1, //its solid + WindowMaterial, //its material + "WindowEntrance"); //name + + {G4VisAttributes* atb= new G4VisAttributes(G4Colour(0,0,1, .4)); + atb->SetForceSolid(true); + logicWindow1->SetVisAttributes(atb);} + + + } + return logicWindow1; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +G4LogicalVolume* Minos::BuildWindow2(){ + if(!logicWindow2){ + solidWindow2 = new G4Tubs("WindowOutcoming", //its name + 0.,TargetRadius+2.*WindowThickness,WindowThickness,0,360.); + + logicWindow2 = new G4LogicalVolume(solidWindow2, //its solid + WindowMaterial, //its material + "WindowOutcoming"); //name + + {G4VisAttributes* atb= new G4VisAttributes(G4Colour(0,0,1, .4)); + atb->SetForceSolid(true); + logicWindow2->SetVisAttributes(atb);} + + } + return logicWindow2; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// Virtual Method of NPS::VDetector class + +// Read stream at Configfile to pick-up parameters of detector (Position,...) +// Called in DetecorConstruction::ReadDetextorConfiguration Method +void Minos::ReadConfiguration(NPL::InputParser parser){ + vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("Minos"); + if(NPOptionManager::getInstance()->GetVerboseLevel()) + cout << "//// " << blocks.size() << " detectors found " << endl; + + vector<string> cart = {"POS","TargetLength"}; + vector<string> sphe = {"R","Theta","Phi","TargetLength"}; + + for(unsigned int i = 0 ; i < blocks.size() ; i++){ + if(blocks[i]->HasTokenList(cart)){ + if(NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "//// Minos " << i+1 << endl; + + G4ThreeVector Pos = NPS::ConvertVector(blocks[i]->GetTVector3("POS","mm")); + double TargetLength = blocks[i]->GetDouble("TargetLength","mm"); + AddDetector(Pos,TargetLength); + } + else if(blocks[i]->HasTokenList(sphe)){ + if(NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "//// Minos " << i+1 << endl; + double R = blocks[i]->GetDouble("R","mm"); + double Theta = blocks[i]->GetDouble("Theta","deg"); + double Phi = blocks[i]->GetDouble("Phi","deg"); + double TargetLength = blocks[i]->GetDouble("TargetLength","mm"); + AddDetector(R,Theta,Phi,TargetLength); + } + else{ + cout << "ERROR: check your input file formatting " << endl; + exit(1); + } + } +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// Construct detector and inialise sensitive part. +// Called After DetecorConstruction::AddDetector Method +void Minos::ConstructDetector(G4LogicalVolume* world){ + for (unsigned short i = 0 ; i < m_R.size() ; i++) { + TargetRadius = 28.*mm; TargetLength = m_TargetLength[i]/2.; + m_TargetLength[i] = m_TargetLength[i]/2.; + + ChamberInnerRadius = 37.*mm; ChamberThickness = 2.*mm; + ChamberLength = 300./2.*mm; + + InnerRohacellThickness = 1.*mm; KaptonThickness = 0.125*mm; OuterRohacellThickness = 2.*mm; + TPCRadiusExt = 91.525*mm; + + WindowThickness = 0.150/2.*mm; + + DefineMaterials(); + + SetTargetMaterial("LH2"); + SetChamberMaterial("Inox"); + SetTPCMaterial("mix"); + SetWindowMaterial("Mylar"); + SetKaptonMaterial("Kapton"); + SetInnerRohacellMaterial("Rohacell"); + SetOuterRohacellMaterial("Rohacell"); + + G4double wX = m_R[i] * sin(m_Theta[i] ) * cos(m_Phi[i] ) ; + G4double wY = m_R[i] * sin(m_Theta[i] ) * sin(m_Phi[i] ) ; + G4double wZ = m_R[i] * cos(m_Theta[i] ) ; + G4ThreeVector Det_pos = G4ThreeVector(wX, wY, wZ) ; + // So the face of the detector is at R instead of the middle + Det_pos+=Det_pos.unit()*Minos_NS::Thickness*0.5; + // Building Detector reference frame + G4double ii = cos(m_Theta[i]) * cos(m_Phi[i]); + G4double jj = cos(m_Theta[i]) * sin(m_Phi[i]); + G4double kk = -sin(m_Theta[i]); + G4ThreeVector Y(ii,jj,kk); + G4ThreeVector w = Det_pos.unit(); + G4ThreeVector u = w.cross(Y); + G4ThreeVector v = w.cross(u); + v = v.unit(); + u = u.unit(); + + G4RotationMatrix* Rot = new G4RotationMatrix(u,v,w); + + // if(m_Shape[i] == "Cylindrical"){ + // // new G4PVPlacement(G4Transform3D(*Rot,Det_pos), + // // BuildCylindricalDetector(), + // // "Minos",world,false,i+1); + // } + // else if(m_Shape[i] == "Square"){ + + + // } + + new G4PVPlacement(0,//its name + G4ThreeVector(wX,wY, wZ + ChamberLength - m_TargetLength[i]-WindowThickness*2. - 11*mm ), // Z positioning putting TPC beginn and Target beginning w/ difference of 11mm + BuildTPC(), //its logical volume + "TPC", //its name + world, //its mother volume + false, //no boolean operation + 0); //copy number + + new G4PVPlacement(0, //its name + G4ThreeVector(0,0,0/*ChamberLength*/), //at (0,0,0) + BuildOuterRohacell(), //its logical volume + "Rohacell"/*"OuterRohacell"*/, //its name + logicTPC/*world*/, //its mother volume + false, //no boolean operation + 0); //copy number + + //check the order and positioning of kapton , chamber and rohacell from pag 16 of Thesis Clementine + + + + new G4PVPlacement(0,//its name + G4ThreeVector(0,0,0/*ChamberLength*/), //at (0,0,0) + BuildChamber(), //its logical volume + "Chamber", //its name + logicOuterRohacell, //its mother volume + false, //no boolean operation + 0); //copy number + + /*new G4PVPlacement(0, //its name + G4ThreeVector(0,0,ChamberLength), //at (0,0,0) + BuildInnerRohacell(), //its logical volume + "InnerRohacell", //its name + world, //its mother volume + false, //no boolean operation + 0);*/ + + + new G4PVPlacement(0, //its name + G4ThreeVector(0,0,0/*ChamberLength*/), //at (0,0,0) + BuildKapton(), //its logical volume + "Kapton", //its name + logicOuterRohacell, //its mother volume + false, //no boolean operation + 0); //copy number + + new G4PVPlacement(0, //its name + G4ThreeVector(0,0,0/*ChamberLength*/), //at (0,0,0) + BuildOuterOuterRohacell(), //its logical volume + "Rohacell"/*"OuterRohacell"*/, //its name + logicTPC/*world*/, //its mother volume + false, //no boolean operation + 0); //copy number + + new G4PVPlacement(0, //its name + G4ThreeVector(0,0,0/*ChamberLength*/), //at (0,0,0) + BuildOuterKapton(), //its logical volume + "Kapton", //its name + logicOuterRohacell, //its mother volume + false, //no boolean operation + 0); //copy number + + + new G4PVPlacement(0, //its name + G4ThreeVector(wX,wY, wZ ), //at (0,0,0) + BuildWindow0(), //its logical volume + "WindowTube", //its name + world, //its mother volume + false, //no boolean operation + 0); + + /*new G4PVPlacement(0, //its name + G4ThreeVector(0,0, -1.*(m_TargetLength[i]+WindowThickness)), //at (0,0,0) + BuildWindow1(), //its logical volume + "WindowEntrance", //its name + logicWindow0, //its mother volume + false, //no boolean operation + 0); new G4PVPlacement(0, //its name + G4ThreeVector(0,0, (m_TargetLength[i]+WindowThickness)), //at (0,0,0) + BuildWindow2(), //its logical volume + "WindowOutcoming", //its name + logicWindow0, //its mother volume + false, //no boolean operation + 0); //copy number + */ + + new G4PVPlacement(0,//no rotation + G4ThreeVector(0,0,0/*m_TargetLength[i]*/), //at (0,0,0) + BuildTarget(), //its logical volume + "Target", //its name + logicWindow0, //its mother volume + false, //no boolean operation + 0); //copy number + + + // G4ProductionCuts* ecut = new G4ProductionCuts(); + //G4ProductionCuts* pcut = new G4ProductionCuts(); + if(!m_ReactionRegion){ + + + // ecut->SetProductionCut(1000,"e-"); + // pcut->SetProductionCut(1,"p"); + + m_ReactionRegion= new G4Region("NPSimulationProcess"); + m_ReactionRegion -> AddRootLogicalVolume(logicTarget); + + // logicTPC -> SetRegion(m_ReactionRegion); + //m_ReactionRegion->SetProductionCuts(ecut); + //m_ReactionRegion->SetProductionCuts(ecut); + // m_ReactionRegion -> AddRootLogicalVolume(logicTPC); + + m_ReactionRegion->SetUserLimits(new G4UserLimits(1.2*mm)); //??? + } + + G4FastSimulationManager* mng = m_ReactionRegion->GetFastSimulationManager(); + unsigned int size = m_ReactionModel.size(); + for(unsigned int o = 0 ; o < size ; o++){ + mng->RemoveFastSimulationModel(m_ReactionModel[o]); + } + m_ReactionModel.clear(); + G4VFastSimulationModel* fsm; + fsm = new NPS::BeamReaction("BeamReaction",m_ReactionRegion); + ((NPS::BeamReaction*) fsm)->SetStepSize(1.2*mm); + m_ReactionModel.push_back(fsm); + fsm = new NPS::Decay("Decay",m_ReactionRegion); + m_ReactionModel.push_back(fsm); + + // G4Region* Region_cut = new G4Region("RegionCut"); + // logicTPC->SetRegion(Region_cut); + // Region_cut->SetProductionCuts(ecut); + // Region_cut->SetProductionCuts(pcut); + // Region_cut->AddRootLogicalVolume(logicTPC); + + } + // + // Visualization attributes + // + world->SetVisAttributes (G4VisAttributes::Invisible); + +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// Add Detector branch to the EventTree. +// Called After DetecorConstruction::AddDetector Method +void Minos::InitializeRootOutput(){ + RootOutput *pAnalysis = RootOutput::getInstance(); + TTree *pTree = pAnalysis->GetTree(); + if(!pTree->FindBranch("Minos")){ + pTree->Branch("Minos", "TMinosData", &m_Event) ; + } + pTree->SetBranchAddress("Minos", &m_Event) ; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// Read sensitive part and fill the Root tree. +// Called at in the EventAction::EndOfEventAction +void Minos::ReadSensitive(const G4Event* ){ + m_Event->Clear(); + + /////////// + // Calorimeter scorer + CalorimeterScorers::PS_Calorimeter* Scorer= (CalorimeterScorers::PS_Calorimeter*) m_MinosTargetScorer->GetPrimitive(0); + + + unsigned int size = Scorer->GetMult(); + for(unsigned int i = 0 ; i < size ; i++){ + vector<unsigned int> level = Scorer->GetLevel(i); + double Energy = RandGauss::shoot(Scorer->GetEnergy(i),Minos_NS::ResoEnergy); + if(Energy>Minos_NS::EnergyThreshold){ + double Time = RandGauss::shoot(Scorer->GetTime(i),Minos_NS::ResoTime); + int DetectorNbr = level[0]; + m_Event->SetEnergy(DetectorNbr,Energy); + m_Event->SetTime(DetectorNbr,Time); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//////////////////////////////////////////////////////////////// +void Minos::InitializeScorers() { + // This check is necessary in case the geometry is reloaded + bool already_exist = false; + bool already_exist2 = false; + + + m_MinosTargetScorer = CheckScorer("MinosTargetScorer",already_exist) ; + m_MinosTPCScorer = CheckScorer("MinosTPCScorer",already_exist2) ; + + if(already_exist && already_exist2 ) + return ; + + // Otherwise the scorer is initialised + vector<int> level; level.push_back(0); + G4VPrimitiveScorer* CalorimeterMinosTargetScorer= new CalorimeterScorers::PS_Calorimeter("CalorimeterMinosTargetScore",level, 0) ; + G4VPrimitiveScorer* InteractionMinosTargetScorer= new InteractionScorers::PS_Interactions("InteractionMinosTargetScore",ms_InterCoord, 0) ; + + //and register it to the multifunctionnal detector + m_MinosTargetScorer->RegisterPrimitive(CalorimeterMinosTargetScorer); + m_MinosTargetScorer->RegisterPrimitive(InteractionMinosTargetScorer); + + G4VPrimitiveScorer* TPCScorer= new TPCScorers::PS_TPCCathode("MinosTPC", 0); + //G4VPrimitiveScorer* TPCCalScorer= new CalorimeterScorers::PS_Calorimeter("TPCCalScorer",level, 0); + G4VPrimitiveScorer* TPCInterScorer= new InteractionScorers::PS_Interactions("TPCInterScorer",ms_InterCoord, 0); + + m_MinosTPCScorer->RegisterPrimitive(TPCScorer); + // m_MinosTPCScorer->RegisterPrimitive(TPCCalScorer); + m_MinosTPCScorer->RegisterPrimitive(TPCInterScorer); + + + G4SDManager::GetSDMpointer()->AddNewDetector(m_MinosTPCScorer) ; + G4SDManager::GetSDMpointer()->AddNewDetector(m_MinosTargetScorer) ; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//////////////////////////////////////////////////////////////////////////////// +// Construct Method to be pass to the DetectorFactory // +//////////////////////////////////////////////////////////////////////////////// +NPS::VDetector* Minos::Construct(){ + return (NPS::VDetector*) new Minos(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//////////////////////////////////////////////////////////////////////////////// +// Registering the construct method to the factory // +//////////////////////////////////////////////////////////////////////////////// +extern"C" { + class proxy_nps_Minos{ + public: + proxy_nps_Minos(){ + NPS::DetectorFactory::getInstance()->AddToken("Minos","Minos"); + NPS::DetectorFactory::getInstance()->AddDetector("Minos",Minos::Construct); + } + }; + + proxy_nps_Minos p_nps_Minos; +} diff --git a/NPSimulation/Detectors/Minos/Minos.hh b/NPSimulation/Detectors/Minos/Minos.hh new file mode 100644 index 0000000000000000000000000000000000000000..ed9652b69fa0911c4018b10ef8e158573a47bfc6 --- /dev/null +++ b/NPSimulation/Detectors/Minos/Minos.hh @@ -0,0 +1,251 @@ +#ifndef Minos_h +#define Minos_h 1 +/***************************************************************************** + * Copyright (C) 2009-2018 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: Elidiano Tronchin contact address: tronchin@lpccaen.in2p3.fr * + * * + * Creation Date : October 2018 * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: * + * This class describe Minos simulation * + * * + *---------------------------------------------------------------------------* + * Comment: * + * * + *****************************************************************************/ + +// C++ header +#include <string> +#include <vector> +using namespace std; + +// G4 headers +#include "G4ThreeVector.hh" +#include "G4RotationMatrix.hh" +#include "G4LogicalVolume.hh" +#include "G4MultiFunctionalDetector.hh" +#include "G4VFastSimulationModel.hh" +#include "G4UserLimits.hh" +#include "G4FastSimulationManager.hh" + +// NPTool header +#include "NPSVDetector.hh" +#include "TMinosData.h" +#include "NPInputParser.h" +#include "Decay.hh" +#include "BeamReaction.hh" + +class Minos : public NPS::VDetector{ + //////////////////////////////////////////////////// + /////// Default Constructor and Destructor ///////// + //////////////////////////////////////////////////// + public: + Minos() ; + virtual ~Minos() ; + + //////////////////////////////////////////////////// + /////// Specific Function of this Class /////////// + //////////////////////////////////////////////////// + public: + // Cartesian + void AddDetector(G4ThreeVector POS, string Shape); + // Spherical + void AddDetector(double R,double Theta,double Phi,string Shape); + // With TargetLenght + void AddDetector(double R,double Theta,double Phi, double TargetLength); + // With TargetLenght + void AddDetector(G4ThreeVector POS, double TargetLength); + + private: + //For material definition + void DefineMaterials(); + public: + void SetTargetMaterial(G4String materialChoice); + void SetChamberMaterial(G4String materialChoice); + void SetTPCMaterial(G4String materialChoice); + void SetWindowMaterial(G4String materialChoice); + void SetInnerRohacellMaterial(G4String materialChoice); + void SetOuterRohacellMaterial(G4String materialChoice); + void SetKaptonMaterial(G4String materialChoice); + + + + G4LogicalVolume* BuildSquareDetector(); + G4LogicalVolume* BuildCylindricalDetector(); + G4LogicalVolume* BuildTarget(); + G4LogicalVolume* BuildChamber(); + G4LogicalVolume* BuildInnerRohacell(); + G4LogicalVolume* BuildOuterRohacell(); + G4LogicalVolume* BuildOuterOuterRohacell(); + G4LogicalVolume* BuildKapton(); + G4LogicalVolume* BuildOuterKapton(); + G4LogicalVolume* BuildTPC(); + G4LogicalVolume* BuildWindow0(); + G4LogicalVolume* BuildWindow1(); + G4LogicalVolume* BuildWindow2(); + + public: + + G4double GetTargetLength() {return TargetLength*2.;}; + G4Material* GetTargetMaterial() {return TargetMaterial;}; + + G4double GetTargetRadius() {return TargetRadius;}; + + /* + const G4VPhysicalVolume* GetphysiWorld() {return physiWorld;}; + const G4VPhysicalVolume* GetTarget() {return physiTarget;}; + const G4VPhysicalVolume* GetChamber() {return physiChamber;}; + const G4VPhysicalVolume* GetTPC() {return physiTPC;}; + const G4VPhysicalVolume* GetWindow0() {return physiWindow0;}; + const G4VPhysicalVolume* GetWindow1() {return physiWindow1;}; + const G4VPhysicalVolume* GetWindow2() {return physiWindow2;}; + const G4VPhysicalVolume* GetInnerRohacell() {return physiInnerRohacell;}; + const G4VPhysicalVolume* GetOuterRohacell() {return physiOuterRohacell;}; + const G4VPhysicalVolume* GetKapton() {return physiKapton;}; + */ + + private: + G4Material* TargetMaterial; + G4double TargetRadius; + G4double TargetLength; + + G4Material* WindowMaterial; + G4double WindowThickness; + + G4Material* ChamberMaterial; + G4double ChamberInnerRadius; + G4double ChamberLength; + G4double ChamberThickness; + + G4Material* InnerRohacellMaterial; + G4double InnerRohacellThickness; + + G4Material* OuterRohacellMaterial; + G4double OuterRohacellThickness; + + G4Material* KaptonMaterial; + G4double KaptonThickness; + + G4Material* TPCMaterial; + G4double TPCRadiusExt; + + G4Material* defaultMaterial; + G4double WorldSizeXY; + G4double WorldSizeZ; + + + G4LogicalVolume* m_SquareDetector; + G4LogicalVolume* m_CylindricalDetector; + + // G4Box* solidWorld; //pointer to the solid World + // G4LogicalVolume* logicWorld; //pointer to the logical World + // G4VPhysicalVolume* physiWorld; //pointer to the physical World + + G4Tubs* solidTarget; + G4LogicalVolume* logicTarget; + // G4VPhysicalVolume* physiTarget; + + G4Tubs* solidChamber; + G4LogicalVolume* logicChamber; + // G4VPhysicalVolume* physiChamber; + + G4Tubs* solidTPC; + G4LogicalVolume* logicTPC; + // G4VPhysicalVolume* physiTPC; + + G4Tubs* solidWindow0; + G4LogicalVolume* logicWindow0; + // G4VPhysicalVolume* physiWindow0; + + G4Tubs* solidWindow1; + G4LogicalVolume* logicWindow1; + // G4VPhysicalVolume* physiWindow1; + + G4Tubs* solidWindow2; + G4LogicalVolume* logicWindow2; + // G4VPhysicalVolume* physiWindow2; + + G4Tubs* solidInnerRohacell; + G4LogicalVolume* logicInnerRohacell; + // G4VPhysicalVolume* physiInnerRohacell; + + G4Tubs* solidOuterRohacell; + G4LogicalVolume* logicOuterRohacell; + // G4VPhysicalVolume* physiOuterRohacell; + + G4Tubs* solidKapton; + G4LogicalVolume* logicKapton; + // G4VPhysicalVolume* physiKapton; + + + + + //////////////////////////////////////////////////// + ////// Inherite from NPS::VDetector class ///////// + //////////////////////////////////////////////////// + public: + // Read stream at Configfile to pick-up parameters of detector (Position,...) + // Called in DetecorConstruction::ReadDetextorConfiguration Method + void ReadConfiguration(NPL::InputParser) ; + + // Construct detector and inialise sensitive part. + // Called After DetecorConstruction::AddDetector Method + void ConstructDetector(G4LogicalVolume* world) ; + + // Add Detector branch to the EventTree. + // Called After DetecorConstruction::AddDetector Method + void InitializeRootOutput() ; + + // Read sensitive part and fill the Root tree. + // Called at in the EventAction::EndOfEventAvtion + void ReadSensitive(const G4Event* event) ; + + public: // Scorer + // Initialize all Scorer used by the MUST2Array + void InitializeScorers() ; + + // Associated Scorer + G4MultiFunctionalDetector* m_MinosTargetScorer ; + G4MultiFunctionalDetector* m_MinosTPCScorer ; + + //////////////////////////////////////////////////// + ///////////Event class to store Data//////////////// + //////////////////////////////////////////////////// + private: + TMinosData* m_Event ; + + //////////////////////////////////////////////////// + ///////////////Private intern Data////////////////// + //////////////////////////////////////////////////// + private: // Geometry + // Detector Coordinate + vector<double> m_R; + vector<double> m_Theta; + vector<double> m_Phi; + + // Target Length + vector<double> m_TargetLength; + + // Visualisation Attribute + G4VisAttributes* m_VisSquare; + G4VisAttributes* m_VisCylinder; + + + private: + // Region were reaction can occure: + G4Region* m_ReactionRegion; + vector<G4VFastSimulationModel*> m_ReactionModel; + + + // Needed for dynamic loading of the library + public: + static NPS::VDetector* Construct(); +}; +#endif diff --git a/NPSimulation/Detectors/beam_dump/cmake_install.cmake b/NPSimulation/Detectors/beam_dump/cmake_install.cmake new file mode 100644 index 0000000000000000000000000000000000000000..0974316586c4759d2b0697085160a601e85d6888 --- /dev/null +++ b/NPSimulation/Detectors/beam_dump/cmake_install.cmake @@ -0,0 +1,39 @@ +# Install script for directory: /home/lenain/nptool/NPSimulation/Detectors/beam_dump + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Release") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + diff --git a/NPSimulation/EventGenerator/EventGeneratorCosmic.cc b/NPSimulation/EventGenerator/EventGeneratorCosmic.cc new file mode 100644 index 0000000000000000000000000000000000000000..af76a85dcd29508ab8c040edd7069f8112d32864 --- /dev/null +++ b/NPSimulation/EventGenerator/EventGeneratorCosmic.cc @@ -0,0 +1,253 @@ +/***************************************************************************** + * Copyright (C) 2009-2016 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: Adrien MATTA contact address: matta@lpccaen.in2p3.fr * + * * + * Creation Date : January 2009 * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: * + * This event Generator is used to simulated Isotropic ion Source * + * Very usefull to figure out Geometric Efficacity of experimental Set-Up * + *---------------------------------------------------------------------------* + * Comment: * + * * + * * + *****************************************************************************/ +// C++ +#include<limits> +#include <cstdlib> + +#include "TROOT.h" // to use gROOT point +#include "TMath.h" +#include "TRandom.h" +#include "TFormula.h" +#include "TF1.h" +#include "TH1F.h" +#include "TH2F.h" +#include "TPad.h" +#include "TCanvas.h" + +// G4 headers +#include "G4ParticleTable.hh" +#include "G4IonTable.hh" +// G4 headers including CLHEP headers +// for generating random numbers +#include "Randomize.hh" + +// NPS headers +#include "EventGeneratorCosmic.hh" + +// NPL headers +#include "RootOutput.h" +#include "NPNucleus.h" +#include "NPOptionManager.h" +using namespace CLHEP; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +EventGeneratorCosmic::EventGeneratorCosmic(){ + m_ParticleStack = ParticleStack::getInstance(); + event_ID=0; +} + + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +EventGeneratorCosmic::~EventGeneratorCosmic(){ +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +EventGeneratorCosmic::SourceParameters::SourceParameters(){ + m_EnergyLow = 0 ; + m_EnergyHigh = 0 ; + m_x0 = 0 ; + m_y0 = 2200 ; + m_z0 = 0 ; + m_SigmaX = 0 ; + m_SigmaY = 0 ; + m_particle = NULL; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void EventGeneratorCosmic::ReadConfiguration(NPL::InputParser parser){ + vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("Cosmic"); + m_Parameters.reserve(blocks.size()); + if(NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "\033[1;35m//// Cosmic reaction found " << endl; + + vector<string> token = {"EnergyLow","EnergyHigh","HalfOpenAngleMin","HalfOpenAngleMax","x0","y0","z0","Particle"}; + for(unsigned int i = 0 ; i < blocks.size() ; i++){ + if(blocks[i]->HasTokenList(token)){ + m_Parameters.push_back(SourceParameters()); + const vector<SourceParameters>::reverse_iterator it = m_Parameters.rbegin(); + + it->m_EnergyLow =blocks[i]->GetDouble("EnergyLow","MeV"); + it->m_EnergyHigh =blocks[i]->GetDouble("EnergyHigh","MeV"); + it->m_HalfOpenAngleMin =blocks[i]->GetDouble("HalfOpenAngleMin","deg"); + it->m_HalfOpenAngleMax =blocks[i]->GetDouble("HalfOpenAngleMax","deg"); + it->m_x0 =blocks[i]->GetDouble("x0","mm"); + it->m_y0 =blocks[i]->GetDouble("y0","mm"); + it->m_z0 =blocks[i]->GetDouble("z0","mm"); + vector<string> particleName =blocks[i]->GetVectorString("Particle"); + for(unsigned int j = 0 ; j < particleName.size() ; j++){ + if(particleName[j]=="proton"){ it->m_particleName.push_back("1H") ;} + else if(particleName[j]=="deuton"){ it->m_particleName.push_back("2H") ; } + else if(particleName[j]=="triton"){ it->m_particleName.push_back("3H") ; } + else if(particleName[j]=="3He" || particleName[j]=="He3") { it->m_particleName.push_back("3He") ; } + else if(particleName[j]=="alpha") { it->m_particleName.push_back("4He") ; } + else if(particleName[j]=="gamma") { it->m_particleName.push_back("gamma") ;} + else if(particleName[j]=="mu+") { it->m_particleName.push_back("mu+") ;} + else if(particleName[j]=="mu-") { it->m_particleName.push_back("mu-") ;} + else if(particleName[j]=="neutron") {it->m_particleName.push_back("neutron") ;} + else it->m_particleName.push_back(particleName[j]); + } + + if(blocks[i]->HasToken("ExcitationEnergy")) + it->m_ExcitationEnergy =blocks[i]->GetVectorDouble("ExcitationEnergy","MeV"); + + if(blocks[i]->HasToken("SigmaX")) + it->m_SigmaX=blocks[i]->GetDouble("SigmaX","mm"); + if(blocks[i]->HasToken("SigmaY")) + it->m_SigmaY=blocks[i]->GetDouble("SigmaY","mm"); + if(blocks[i]->HasToken("Multiplicity")) + it->m_Multiplicty=blocks[i]->GetVectorInt("Multiplicity"); + } + else{ + cout << "ERROR: check your input file formatting \033[0m" << endl; + exit(1); + } + } + + for(auto& par : m_Parameters) { + if(par.m_ExcitationEnergy.size()==0) + par.m_ExcitationEnergy.resize(par.m_particleName.size(),0); + if(par.m_Multiplicty.size()==0) + par.m_Multiplicty.resize(par.m_particleName.size(),1); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + + + G4double CosmicAngle; + G4double H = 1500*mm; + G4double R = 500*mm; + G4double x0 =0; + G4double m_y0 = 0; + G4double z0 = 0; + G4double momentum_x = 0; + G4double momentum_z = 0; + G4double randomize1=0, randomize2=0 ; + G4double momentum_y = 0; + G4double angle = 0; +//<<<<<<< HEAD + + TF1* cosSq= new TF1("cosSq", "TMath::Power(cos(x),2)", 0, (TMath::Pi())/2); +//TH1F* DistribCosmicAngle= new TH1F("DistribCosmicAngle","DistribCosmicAngle",100, 0, (TMath::Pi())/2); +//TH2F* DistribMomZMomX= new TH2F("DistribMomZMomX","Horizontals components of Cosmic rays Momentums",50, -1, 1, 50, -1, 1); +//TCanvas* DisCanva = new TCanvas("DisCanva","Distribution"); +//DisCanva->Divide(1,2); +//======= +// TF1* cosSq2= new TF1("cosSq2", "TMath::Power(cos(x),2)", 0, (TMath::Pi())/2); +//>>>>>>> d95a3e0b20133cedfe52319767a19f987db3584a + +void EventGeneratorCosmic::GenerateEvent(G4Event*){ + + for(auto& par : m_Parameters) { + for(unsigned int p=0; p<par.m_particleName.size(); p++){ + for(int i=0; i<par.m_Multiplicty[p]; i++){ + par.m_particle=NULL; + if(par.m_particle==NULL){ + + if(par.m_particleName[p]=="gamma" || par.m_particleName[p]=="neutron" || par.m_particleName[p]=="opticalphoton" || par.m_particleName[p]=="mu+" || par.m_particleName[p]=="mu-"){ + par.m_particle = G4ParticleTable::GetParticleTable()->FindParticle(par.m_particleName[p].c_str()); + } + else{ + NPL::Nucleus* N = new NPL::Nucleus(par.m_particleName[p]); + par.m_particle = G4ParticleTable::GetParticleTable()->GetIonTable()->GetIon(N->GetZ(), N->GetA(),par.m_ExcitationEnergy[p]); + delete N; + } + + } + + + G4double particle_energy = par.m_EnergyLow ;//+ RandFlat::shoot() * (par.m_EnergyHigh - par.m_EnergyLow) ; + event_ID++; + + + // Direction of particle, energy and laboratory angle + + + + angle = RandFlat::shoot()*2*pi; + CosmicAngle = cosSq->GetRandom(); + randomize1 = RandFlat::shoot() ; + randomize2 = RandFlat::shoot() ; + + /* //Putting a cylinder + if(randomize>0){ //top + momentum_x = cos(angle)*sin(CosmicAngle); + momentum_z = sin(angle)*sin(CosmicAngle); + + x0 = cos(angle2*2)*R*(randomize*2); + z0 = sin(angle2*2)*R*(randomize*2); + par.m_y0 = H/2; + } else { //lateral surface + + x0 = cos(angle)*R; + z0 = sin(angle)*R; + par.m_y0 = (.5-RandFlat::shoot())*H; ///!!!!!!! + + momentum_x = -cos(angle+angle2)*sin(CosmicAngle); + momentum_z = -sin(angle+angle2)*sin(CosmicAngle); + } + */ + + // Begin Constrain to pass in a square with L = 3* R + + x0 = R*(randomize1-0.5)*3; + z0 = R*(randomize2-0.5)*3; + + momentum_y = cos(CosmicAngle); + momentum_x = cos(angle)*sin(CosmicAngle); + momentum_z = sin(angle)*sin(CosmicAngle); + + x0 = x0-momentum_x*( H/2 / momentum_y);// *( H/2 / momentum_y) this is to have the origin always with par.m_y0 = H/2; + z0 = z0-momentum_z*( H/2 / momentum_y); + par.m_y0 = H/2; // momentum_y*( H/2 / momentum_y); + + // End Constrain to pass in a square with L = 3* R + + momentum_y = -momentum_y; + + //DistribMomZMomX->Fill(momentum_x,momentum_z); + //DistribCosmicAngle->Fill(CosmicAngle); + + + + Particle particle(par.m_particle, 0,particle_energy,G4ThreeVector(momentum_x, momentum_y, momentum_z),G4ThreeVector(x0, par.m_y0, z0)); + + + m_ParticleStack->AddParticleToStack(particle); + + } + } + + //DisCanva->cd(1); DistribCosmicAngle->Draw(); + //DisCanva->cd(2); DistribMomZMomX->Draw("SURF3"); + + } + +} + + + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void EventGeneratorCosmic::InitializeRootOutput(){ + + } diff --git a/NPSimulation/EventGenerator/EventGeneratorMultipleParticle.cc b/NPSimulation/EventGenerator/EventGeneratorMultipleParticle.cc index a4d56722a91d56f54bf050fde75d7de519c3457a..e2e561c2ccada3ef88bbcdf868e8edaa51b6cb11 100644 --- a/NPSimulation/EventGenerator/EventGeneratorMultipleParticle.cc +++ b/NPSimulation/EventGenerator/EventGeneratorMultipleParticle.cc @@ -51,7 +51,7 @@ EventGeneratorMultipleParticle::EventGeneratorMultipleParticle(){ m_SigmaX = 0; m_SigmaY = 0; m_Events = 0; - m_File = StandardPath; + m_File = ""; m_particleName.clear(); m_ParticleStack = ParticleStack::getInstance(); m_Event.clear(); diff --git a/NPSimulation/Process/BeamReaction.cc b/NPSimulation/Process/BeamReaction.cc index 27158ff4ecf1c7916123d31012d9cab47c6b33b2..3d2a6b7a4747bade82a5416e3e36dd16f42bc1b3 100644 --- a/NPSimulation/Process/BeamReaction.cc +++ b/NPSimulation/Process/BeamReaction.cc @@ -229,7 +229,7 @@ void NPS::BeamReaction::DoIt(const G4FastTrack& fastTrack,G4FastStep& fastStep) G4ThreeVector U(1,0,0); G4ThreeVector V(0,1,0); - + G4ThreeVector ZZ(0,0,1); m_ReactionConditions->SetBeamEmittanceTheta(PrimaryTrack->GetMomentumDirection().theta()/deg); m_ReactionConditions->SetBeamEmittancePhi(PrimaryTrack->GetMomentumDirection().phi()/deg); m_ReactionConditions->SetBeamEmittanceThetaX(PrimaryTrack->GetMomentumDirection().angle(U)/deg); @@ -238,6 +238,9 @@ void NPS::BeamReaction::DoIt(const G4FastTrack& fastTrack,G4FastStep& fastStep) ///// Build rotation matrix to go from the incident ////// ///// beam frame to the "world" frame ////// ////////////////////////////////////////////////////////// + + /* + G4ThreeVector col1(cos(Beam_theta) * cos(Beam_phi), cos(Beam_theta) * sin(Beam_phi), -sin(Beam_theta)); @@ -249,6 +252,9 @@ void NPS::BeamReaction::DoIt(const G4FastTrack& fastTrack,G4FastStep& fastStep) cos(Beam_theta)); G4RotationMatrix BeamToWorld(col1, col2, col3); + */ + + ///////////////////////////////////////////////////////////////// ///// Angles for emitted particles following Cross Section ////// ///// Angles are in the beam frame ////// @@ -257,7 +263,7 @@ void NPS::BeamReaction::DoIt(const G4FastTrack& fastTrack,G4FastStep& fastStep) // Angles // Shoot and Set a Random ThetaCM m_Reaction.ShootRandomThetaCM(); - double phi = RandFlat::shoot() * 2. * pi; + double phi = RandFlat::shoot() * 2. * pi; ////////////////////////////////////////////////// ///// Momentum and angles from kinematics ///// @@ -272,18 +278,20 @@ void NPS::BeamReaction::DoIt(const G4FastTrack& fastTrack,G4FastStep& fastStep) G4ThreeVector momentum_kine3_beam(sin(Theta3) * cos(phi), sin(Theta3) * sin(phi), cos(Theta3)); - // Momentum in World frame - G4ThreeVector momentum_kine3_world = BeamToWorld * momentum_kine3_beam; - + // Momentum in World frame //to go from the incident beam frame to the "world" frame + G4ThreeVector momentum_kine3_world = /*BeamToWorld */ momentum_kine3_beam ; + momentum_kine3_world.rotate(Beam_theta, V ); // rotation of Beam_theta on Y axis + momentum_kine3_world.rotate(Beam_phi, ZZ ); // rotation of Beam_phi on Z axis // Momentum in beam frame for heavy particle G4ThreeVector momentum_kine4_beam(sin(Theta4) * cos(phi+pi), sin(Theta4) * sin(phi+pi), cos(Theta4)); // Momentum in World frame - G4ThreeVector momentum_kine4_world = BeamToWorld * momentum_kine4_beam; - - + G4ThreeVector momentum_kine4_world = /*BeamToWorld */ momentum_kine4_beam; + momentum_kine4_world.rotate(Beam_theta, V ); // rotation of Beam_theta on Y axis + momentum_kine4_world.rotate(Beam_phi, ZZ ); // rotation of Beam_phi on Z axis + // Emitt secondary if(m_Reaction.GetShoot3()){ G4DynamicParticle particle3(LightName,momentum_kine3_world,Energy3); @@ -308,6 +316,11 @@ void NPS::BeamReaction::DoIt(const G4FastTrack& fastTrack,G4FastStep& fastStep) // Angle 3 and 4 // m_ReactionConditions->SetTheta(Theta3/deg); m_ReactionConditions->SetTheta(Theta4/deg); + + m_ReactionConditions->SetPhi(phi/deg); + if((phi+pi)/deg > 360 ) m_ReactionConditions->SetPhi((phi-pi)/deg); + else m_ReactionConditions->SetPhi((phi+pi)/deg); + // Energy 3 and 4 // m_ReactionConditions->SetKineticEnergy(Energy3); m_ReactionConditions->SetKineticEnergy(Energy4); diff --git a/NPSimulation/Process/Decay.cc b/NPSimulation/Process/Decay.cc index bfd7ee212ffc083712e4f466a68c5292ae593e67..0cf06236cf02389534e9ffe637a56b2746058357 100644 --- a/NPSimulation/Process/Decay.cc +++ b/NPSimulation/Process/Decay.cc @@ -85,8 +85,9 @@ G4bool Decay::IsApplicable( const G4ParticleDefinition& particleType) { } //////////////////////////////////////////////////////////////////////////////// -G4bool Decay::ModelTrigger(const G4FastTrack& ) { +G4bool Decay::ModelTrigger(const G4FastTrack& fastTrack) { //FIXME: Solve the issue of long lived decay + m_PreviousEnergy=fastTrack.GetPrimaryTrack()->GetKineticEnergy(); // Check that a decay is possible: return m_Decay.AnyAboveThreshold(NPL::ChangeNameFromG4Standard(m_CurrentName),m_ExcitationEnergy); } diff --git a/NPSimulation/Process/G4DETransport.cc b/NPSimulation/Process/G4DETransport.cc index 1f501a7bc8e1e420c4ecf3b716c3d21e3e53f318..66f3e83aed555b88229bc387349834a49220dd6d 100644 --- a/NPSimulation/Process/G4DETransport.cc +++ b/NPSimulation/Process/G4DETransport.cc @@ -106,7 +106,6 @@ G4DETransport::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) G4ThreeVector x0 = pPreStepPoint->GetPosition(); G4ThreeVector p0 = aStep.GetDeltaPosition().unit(); G4double t0 = pPreStepPoint->GetGlobalTime(); - G4double Energy = pPreStepPoint->GetKineticEnergy(); // The time scale is imposed by the distance travelled @@ -152,10 +151,14 @@ G4DETransport::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) G4double sigmaTrans = sqrt(2*step_length*aMaterialPropertiesTable->GetConstProperty("DE_TRANSVERSALSPREAD")/v_drift); G4double sigmaLong = sqrt(2*step_length*aMaterialPropertiesTable->GetConstProperty("DE_LONGITUDINALSPREAD")/v_drift); - - G4double d_long = G4RandGauss::shoot(0,sigmaLong); + G4double d_trans = G4RandGauss::shoot(0,sigmaTrans); - G4double d_drift = step_length+d_long; + G4double d_long=0; + G4double d_drift=-1; + while(d_drift<0){ + d_long = G4RandGauss::shoot(0,sigmaLong); + d_drift = step_length+d_long; + } G4ThreeVector trans(G4RandGauss::shoot(0,d_trans),0,0); trans.rotateY(twopi*G4UniformRand()); diff --git a/NPSimulation/Scorers/CalorimeterScorers.cc b/NPSimulation/Scorers/CalorimeterScorers.cc index 4c77e6e24a75af5be2c1320420e79e8a43d4555d..f4afd2856b58d5039327472980e5238855571453 100644 --- a/NPSimulation/Scorers/CalorimeterScorers.cc +++ b/NPSimulation/Scorers/CalorimeterScorers.cc @@ -58,13 +58,13 @@ PS_Calorimeter::~PS_Calorimeter(){ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4bool PS_Calorimeter::ProcessHits(G4Step* aStep, G4TouchableHistory*){ // Contain Energy, Time + as many copy number as nested volume - static unsigned int mysize = m_NestingLevel.size(); + unsigned int mysize = m_NestingLevel.size(); t_Energy = aStep->GetTotalEnergyDeposit(); t_Time = aStep->GetPreStepPoint()->GetGlobalTime(); t_Level.clear(); for(unsigned int i = 0 ; i < mysize ; i++){ - t_Level.push_back(aStep->GetPreStepPoint()->GetTouchableHandle()->GetCopyNumber(m_NestingLevel[i])); - } + t_Level.push_back(aStep->GetPreStepPoint()->GetTouchableHandle()->GetCopyNumber(m_NestingLevel[i])); +} // Check if the particle has interact before, if yes, add up the energies. vector<CalorimeterData>::iterator it; it = m_Data.find(CalorimeterData::CalculateIndex(t_Level)); diff --git a/Projects/Dali/Dali.detector b/Projects/Dali/Dali.detector new file mode 100644 index 0000000000000000000000000000000000000000..faab7e259bd3400da50a7e6c33143b4879f9da45 --- /dev/null +++ b/Projects/Dali/Dali.detector @@ -0,0 +1,97 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Target + THICKNESS= 20 mm + RADIUS= 20 mm + MATERIAL= CD2 + ANGLE= 0 deg + X= 0 mm + Y= 0 mm + Z= 220 mm +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 240 deg + Zeta = -90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 180 deg + Zeta = -90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 120 deg + Zeta = -90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 60 deg + Zeta = -90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 0 deg + Zeta = -90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = -60 deg + Zeta = -90.03 mm + Shape = Square + Material = NaI(Tl) + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 240 deg + Zeta = 90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 180 deg + Zeta = 90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 120 deg + Zeta = 90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 60 deg + Zeta = 90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 0 deg + Zeta = 90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = -60 deg + Zeta = 90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Projects/Dali/DaliMinos.detector b/Projects/Dali/DaliMinos.detector new file mode 100644 index 0000000000000000000000000000000000000000..3307433366fd68a0ed303da67f11266cde8437e7 --- /dev/null +++ b/Projects/Dali/DaliMinos.detector @@ -0,0 +1,94 @@ +Minos + R= 35 mm + THETA= 90 deg + POS = 0 0 -307.07 mm + PHI= 63 deg + TargetLength = 152.76 mm +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 240 deg + Zeta = -90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 180 deg + Zeta = -90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 120 deg + Zeta = -90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 60 deg + Zeta = -90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 0 deg + Zeta = -90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = -60 deg + Zeta = -90.03 mm + Shape = Square + Material = NaI(Tl) + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 240 deg + Zeta = 90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 180 deg + Zeta = 90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 120 deg + Zeta = 90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 60 deg + Zeta = 90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 0 deg + Zeta = 90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = -60 deg + Zeta = 90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Projects/Dali/DaliWithHTarget.detector b/Projects/Dali/DaliWithHTarget.detector new file mode 100644 index 0000000000000000000000000000000000000000..f8cc1470513e4eeaa981ba61b2cbed344df0f9d5 --- /dev/null +++ b/Projects/Dali/DaliWithHTarget.detector @@ -0,0 +1,97 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Target + THICKNESS= 150 mm + RADIUS= 19.5 mm + MATERIAL= H2 + ANGLE= 0 deg + X= 0 mm + Y= 0 mm + Z= -90.03 mm +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 240 deg + Zeta = -90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 180 deg + Zeta = -90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 120 deg + Zeta = -90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 60 deg + Zeta = -90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 0 deg + Zeta = -90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = -60 deg + Zeta = -90.03 mm + Shape = Square + Material = NaI(Tl) + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 240 deg + Zeta = 90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 180 deg + Zeta = 90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 120 deg + Zeta = 90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 60 deg + Zeta = 90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 0 deg + Zeta = 90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = -60 deg + Zeta = 90.03 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Projects/Dali/OneRingDali.detector b/Projects/Dali/OneRingDali.detector new file mode 100644 index 0000000000000000000000000000000000000000..89fa58598ac0bff3c189a4c0262a32e896570e1f --- /dev/null +++ b/Projects/Dali/OneRingDali.detector @@ -0,0 +1,52 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Target + THICKNESS= 20 mm + RADIUS= 20 mm + MATERIAL= CD2 + ANGLE= 0 deg + X= 0 mm + Y= 0 mm + Z= 220 mm +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 240 deg + Zeta = 0 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 180 deg + Zeta = 0 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 120 deg + Zeta = 0 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 60 deg + Zeta = 0 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = 0 deg + Zeta = 0 mm + Shape = Square + Material = NaI(Tl) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Dali + R = 212.4 mm + Alpha = -60 deg + Zeta = 0 mm + Shape = Square + Material = NaI(Tl) + diff --git a/Projects/Dali/PPCROSSSECTION.txt b/Projects/Dali/PPCROSSSECTION.txt new file mode 100644 index 0000000000000000000000000000000000000000..76839018280f93ec5485158d889ac64a197709d1 --- /dev/null +++ b/Projects/Dali/PPCROSSSECTION.txt @@ -0,0 +1,4081 @@ +Retrieved by E4-Web: 2019/01/09,13:35:27 1 0 0 0 + 1.001000+3 9.991700-1 -1 0 0 1 125 1451 1 + 0.000000+0 0.000000+0 0 0 0 6 125 1451 2 + 9.986200-1 1.500000+8 0 0 10010 8 125 1451 3 + 0.000000+0 0.000000+0 0 0 32 2 125 1451 4 + 1-H - 1 LANL EVAL-FEB98 G.HALE 125 1451 5 + CH99 DIST-FEB18 20111222 125 1451 6 +----ENDF/B-VIII.0 MATERIAL 125 REVISION 1 125 1451 7 +-----INCIDENT PROTON DATA 125 1451 8 +------ENDF-6 FORMAT 125 1451 9 + 125 1451 10 + **************************************************************** 125 1451 11 + 125 1451 12 + ENDF/B-VI MOD 2 Evaluation, February 1998, G. M. Hale (LANL) 125 1451 13 + 125 1451 14 + Includes p + H1 elastic MT = 2 125 1451 15 + 125 1451 16 + p-p elastic cross sections calculated for Ep between 0 and 125 1451 17 + 150 MeV from an R-matrix analysis of p-p cross-section and 125 1451 18 + polarization data in this energy range. The maximum nuclear 125 1451 19 + partial wave allowed in the fit is l=6, and the resulting 125 1451 20 + chi-squared per degree of freedom is 1.8. 125 1451 21 + 125 1451 22 + **************************************************************** 125 1451 23 + 125 1451 24 + ENDF/B-VI MOD 1 Evaluation, October 1987, D. Dodder (LANL) 125 1451 25 + 125 1451 26 + Completely replaced by MOD 2 evaluation. 125 1451 27 + 125 1451 28 +**************************************************************** 125 1451 29 + 125 1451 30 +REFERENCES 125 1451 31 + 125 1451 32 +[Ch99] M.B. Chadwick, P G. Young, G. M. Hale, et al., Los Alamos 125 1451 33 + National Laboratory report, LA-UR-99-1222 (1999) 125 1451 34 + 125 1451 35 + ************************ C O N T E N T S ************************ 125 1451 36 + 1 451 39 1 125 1451 37 + 6 2 661 1 125 1451 38 + 0.000000+0 0.000000+0 0 0 0 0 125 1 099999 + 0.000000+0 0.000000+0 0 0 0 0 125 0 0 0 + 1.001000+3 9.991700-1 0 2 1 0 125 6 2 1 + 1.001000+3 9.966200-1 0 5 1 2 125 6 2 2 + 2 2 125 6 2 3 + 1.000000+3 1.000000+0 1.500000+8 1.000000+0 125 6 2 4 + 5.000000-1 0.000000+0 1 0 1 131 125 6 2 5 + 131 2 125 6 2 6 + 0.000000+0 1.000000+3 1 0 21 6 125 6 2 7 + 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 125 6 2 8 + 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 125 6 2 9 + 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 125 6 2 10 + 0.000000+0 0.000000+0 0.000000+0 125 6 2 11 + 0.000000+0 2.000000+4 1 0 21 6 125 6 2 12 + 4.913300-5-1.84640-12 2.43950-19-1.66800-20-1.91330-20 2.71050-20 125 6 2 13 +-1.08420-21 3.193000-2 2.456600-5 1.704500-7-1.529200-6-6.45090-10 125 6 2 14 + 3.04170-10 3.86880-13 1.08180-13-1.76570-18-1.88320-18-3.02160-22 125 6 2 15 +-9.32390-22-2.57440-27 4.68080-26 125 6 2 16 + 0.000000+0 3.000000+4 1 0 21 6 125 6 2 17 + 4.418500-4-2.09530-11 5.34870-18 6.67200-20-1.53060-19 2.37490-19 125 6 2 18 +-1.04080-19 7.818000-2 2.209200-4-4.153400-7-4.533300-6-2.019900-9 125 6 2 19 + 2.105000-9 2.30990-12-5.05480-13-2.16370-17-5.13870-18-1.03320-20 125 6 2 20 +-6.98120-21 5.52570-25 6.90790-25 125 6 2 21 + 0.000000+0 4.000000+4 1 0 21 6 125 6 2 22 + 1.583100-3-7.77440-11 3.92240-17 1.06750-18-2.04090-19 5.16290-19 125 6 2 23 +-5.55110-19 1.281600-1 7.915500-4-2.014600-6-8.482500-6-3.543000-9 125 6 2 24 + 6.195500-9 6.48990-12-3.85640-12-9.24840-17 1.36020-17-6.83790-20 125 6 2 25 +-1.15620-20 5.93050-24 2.71580-24 125 6 2 26 + 0.000000+0 5.000000+4 1 0 21 6 125 6 2 27 + 3.720100-3-1.58880-10 1.72890-16 0.000000+0-8.16340-19 2.06510-18 125 6 2 28 +-9.02060-19 1.757100-1 1.860100-3-4.550400-6-1.285800-5-4.525500-9 125 6 2 29 + 1.282000-8 1.27540-11-1.23330-11-2.48950-16 1.10820-16-2.49180-19 125 6 2 30 + 3.45850-20 2.93390-23 2.84400-24 125 6 2 31 + 0.000000+0 6.000000+4 1 0 21 6 125 6 2 32 + 6.924900-3-1.95810-10 5.60510-16 3.20260-18-2.44900-18 5.78240-19 125 6 2 33 +-3.46940-18 2.188300-1 3.462400-3-7.848000-6-1.735500-5-4.437500-9 125 6 2 34 + 2.194300-8 2.02820-11-2.82140-11-5.15680-16 3.74110-16-6.55910-19 125 6 2 35 + 2.55100-19 9.75220-23-1.54020-23 125 6 2 36 + 0.000000+0 7.000000+4 1 0 21 6 125 6 2 37 + 1.116000-2-6.54170-11 1.45790-15-5.33760-18 4.89800-18-1.48690-18 125 6 2 38 +-1.94290-18 2.571600-1 5.579900-3-1.173700-5-2.180700-5-2.908600-9 125 6 2 39 + 3.341300-8 2.78660-11-5.35300-11-9.01190-16 9.17370-16-1.40460-18 125 6 2 40 + 8.73660-19 2.53160-22-9.47000-23 125 6 2 41 + 0.000000+0 8.000000+4 1 0 21 6 125 6 2 42 + 1.633300-2 4.00010-10 3.25590-15 1.49450-17-1.30610-17 7.93020-18 125 6 2 43 +-3.33070-18 2.909700-1 8.166700-3-1.607600-5-2.612700-5 3.10910-10 125 6 2 44 + 4.704800-8 3.40740-11-9.00520-11-1.39500-15 1.87620-15-2.60560-18 125 6 2 45 + 2.23420-18 5.54600-22-3.19800-22 125 6 2 46 + 0.000000+0 9.000000+4 1 0 21 6 125 6 2 47 + 2.233400-2 1.401300-9 6.57960-15 1.92150-17-9.79610-18 1.38780-17 125 6 2 48 +-4.44090-18 3.207200-1 1.116700-2-2.075300-5-3.027200-5 5.385400-9 125 6 2 49 + 6.265800-8 3.73560-11-1.39320-10-1.96670-15 3.40390-15-4.34440-18 125 6 2 50 + 4.81650-18 1.07280-21-8.35550-22 125 6 2 51 + 0.000000+0 1.000000+5 1 0 21 6 125 6 2 52 + 2.904800-2 3.162300-9 1.22030-14 1.28100-17 9.79610-18 7.59970-18 125 6 2 53 + 1.11020-18 3.469000-1 1.452400-2-2.568100-5-3.422300-5 1.242000-8 125 6 2 54 + 8.007000-8 3.61070-11-2.02670-10-2.56540-15 5.66890-15-6.66280-18 125 6 2 55 + 9.24960-18 1.88570-21-1.86660-21 125 6 2 56 + 0.000000+0 1.200000+5 1 0 21 6 125 6 2 57 + 4.419000-2 9.925000-9 3.46740-14 4.27010-17-3.26540-17 4.29550-17 125 6 2 58 +-2.22040-17 3.903000-1 2.209500-2-3.604200-5-4.153800-5 3.260200-8 125 6 2 59 + 1.196700-7 1.35160-11-3.76170-10-3.54050-15 1.31440-14-1.28750-17 125 6 2 60 + 2.69880-17 4.68960-21-6.89990-21 125 6 2 61 + 0.000000+0 1.400000+5 1 0 21 6 125 6 2 62 + 6.101500-2 2.266700-8 8.20210-14 4.27010-17-6.53070-17 1.91650-17 125 6 2 63 + 7.77160-18 4.241900-1 3.050700-2-4.678300-5-4.810900-5 6.108100-8 125 6 2 64 + 1.647800-7-4.65860-11-6.18360-10-3.52110-15 2.58680-14-2.00110-17 125 6 2 65 + 6.38150-17 9.35290-21-1.96390-20 125 6 2 66 + 0.000000+0 1.600000+5 1 0 21 6 125 6 2 67 + 7.893800-2 4.336800-8 1.70370-13 8.54020-18-3.91840-17 5.02240-17 125 6 2 68 +-4.88500-17 4.507600-1 3.946900-2-5.768000-5-5.401400-5 9.784700-8 125 6 2 69 + 2.145300-7-1.56710-10-9.35450-10-1.41210-15 4.55340-14-2.50240-17 125 6 2 70 + 1.31000-16 1.55990-20-4.70250-20 125 6 2 71 + 0.000000+0 1.800000+5 1 0 21 6 125 6 2 72 + 9.751600-2 7.393400-8 3.20860-13 1.36640-16-6.53070-17 5.02240-17 125 6 2 73 +-1.55430-17 4.716500-1 4.875800-2-6.859100-5-5.933500-5 1.427700-7 125 6 2 74 + 2.682600-7-3.28890-10-1.332400-9 4.15900-15 7.39350-14-2.25480-17 125 6 2 75 + 2.42870-16 2.19000-20-9.95140-20 125 6 2 76 + 0.000000+0 2.000000+5 1 0 21 6 125 6 2 77 + 1.164100-1 1.161500-7 5.61300-13 1.19560-16-2.61230-17 5.28680-17 125 6 2 78 + 2.22040-18 4.880200-1 5.820500-2-7.942900-5-6.414600-5 1.956700-7 125 6 2 79 + 3.254200-7-5.74610-10-1.813500-9 1.48250-14 1.12940-13-4.43920-18 125 6 2 80 + 4.16980-16 2.47640-20-1.91900-19 125 6 2 81 + 0.000000+0 2.200000+5 1 0 21 6 125 6 2 82 + 1.353600-1 1.716400-7 9.24810-13 2.04960-16-1.04490-16 6.87280-17 125 6 2 83 +-5.77320-17 5.007700-1 6.768200-2-9.013900-5-6.851200-5 2.563400-7 125 6 2 84 + 3.855700-7-9.04880-10-2.382100-9 3.24620-14 1.64490-13 4.06590-17 125 6 2 85 + 6.74160-16 1.79090-20-3.44160-19 125 6 2 86 + 0.000000+0 2.400000+5 1 0 21 6 125 6 2 87 + 1.541900-1 2.419100-7 1.45110-12 2.04960-16-7.83690-17 7.93020-17 125 6 2 88 + 1.77640-17 5.105600-1 7.709300-2-1.006900-4-7.248900-5 3.245600-7 125 6 2 89 + 4.483700-7-1.330200-9-3.041100-9 5.91790-14 2.30550-13 1.27730-16 125 6 2 90 + 1.03870-15-8.67460-21-5.82330-19 125 6 2 91 + 0.000000+0 2.600000+5 1 0 21 6 125 6 2 92 + 1.727200-1 3.282600-7 2.18750-12 2.56210-16-2.08980-16 3.70070-17 125 6 2 93 + 9.77000-17 5.179200-1 8.636200-2-1.110500-4-7.612400-5 4.001100-7 125 6 2 94 + 5.135000-7-1.860700-9-3.793200-9 9.73020-14 3.13170-13 2.75740-16 125 6 2 95 + 1.53820-15-6.97620-20-9.39390-19 125 6 2 96 + 0.000000+0 2.800000+5 1 0 21 6 125 6 2 97 + 1.908700-1 4.318600-7 3.18720-12 2.73290-16-1.04490-16 1.05740-16 125 6 2 98 +-1.19900-16 5.232500-1 9.543500-2-1.212100-4-7.945700-5 4.827900-7 125 6 2 99 + 5.807300-7-2.505900-9-4.640500-9 1.49360-13 4.14400-13 5.08070-16 125 6 2 100 + 2.20390-15-1.86030-19-1.45620-18 125 6 2 101 + 0.000000+0 3.000000+5 1 0 21 6 125 6 2 102 + 2.085400-1 5.537300-7 4.51160-12 1.53720-16-2.08980-16 2.45840-16 125 6 2 103 +-6.21720-17 5.268800-1 1.042700-1-1.311700-4-8.252100-5 5.724000-7 125 6 2 104 + 6.498400-7-3.275300-9-5.585000-9 2.18090-13 5.36330-13 8.52790-16 125 6 2 105 + 3.07080-15-3.85270-19-2.18220-18 125 6 2 106 + 0.000000+0 3.200000+5 1 0 21 6 125 6 2 107 + 2.256700-1 6.947200-7 6.22890-12 2.73290-16-1.04490-16 1.53320-16 125 6 2 108 +-4.88500-17 5.290800-1 1.128300-1-1.409300-4-8.534600-5 6.687400-7 125 6 2 109 + 7.206400-7-4.177800-9-6.628200-9 3.06410-13 6.81080-13 1.34300-15 125 6 2 110 + 4.17710-15-7.03720-19-3.17690-18 125 6 2 111 + 0.000000+0 3.400000+5 1 0 21 6 125 6 2 112 + 2.422100-1 8.555600-7 8.41510-12 2.73290-16-1.04490-16 1.55960-16 125 6 2 113 + 0.000000+0 5.300700-1 1.211000-1-1.504800-4-8.795600-5 7.716300-7 125 6 2 114 + 7.929900-7-5.221900-9-7.771800-9 4.17410-13 8.50790-13 2.01730-15 125 6 2 115 + 5.56500-15-1.18740-18-4.51000-18 125 6 2 116 + 0.000000+0 3.600000+5 1 0 21 6 125 6 2 117 + 2.581300-1 1.036800-6 1.11540-11 2.39120-16 5.22460-17 5.55110-17 125 6 2 118 + 6.66130-17 5.300100-1 1.290700-1-1.598300-4-9.037200-5 8.809000-7 125 6 2 119 + 8.667400-7-6.416200-9-9.017100-9 5.54370-13 1.04760-12 2.91980-15 125 6 2 120 + 7.28030-15-1.89380-18-6.26310-18 125 6 2 121 + 0.000000+0 3.800000+5 1 0 21 6 125 6 2 122 + 2.734200-1 1.239000-6 1.45360-11 2.39120-16 0.000000+0 8.19450-17 125 6 2 123 +-1.06580-16 5.290700-1 1.367100-1-1.689700-4-9.261400-5 9.963900-7 125 6 2 124 + 9.417800-7-7.768500-9-1.036500-8 7.20730-13 1.27370-12 4.10060-15 125 6 2 125 + 9.37250-15-2.89300-18-8.53000-18 125 6 2 126 + 0.000000+0 4.000000+5 1 0 21 6 125 6 2 127 + 2.880500-1 1.462500-6 1.86610-11 2.73290-16-5.22460-17 3.17210-17 125 6 2 128 + 1.77640-17 5.273600-1 1.440300-1-1.779200-4-9.469800-5 1.117900-6 125 6 2 129 + 1.018000-6-9.286900-9-1.181700-8 9.20070-13 1.53130-12 5.61630-15 125 6 2 130 + 1.18950-14-4.26980-18-1.14180-17 125 6 2 131 + 0.000000+0 4.200000+5 1 0 21 6 125 6 2 132 + 3.020300-1 1.707500-6 2.36350-11 6.14890-16-3.13470-16 1.16310-16 125 6 2 133 +-1.33230-16 5.250000-1 1.510100-1-1.866800-4-9.663600-5 1.245400-6 125 6 2 134 + 1.095300-6-1.097900-8-1.337400-8 1.15620-12 1.82250-12 7.52980-15 125 6 2 135 + 1.49050-14-6.12500-18-1.50500-17 125 6 2 136 + 0.000000+0 4.400000+5 1 0 21 6 125 6 2 137 + 3.153500-1 1.974200-6 2.95740-11 4.78250-16-1.04490-16-3.17210-17 125 6 2 138 +-5.32910-17 5.220800-1 1.576700-1-1.952500-4-9.844300-5 1.378600-6 125 6 2 139 + 1.173600-6-1.285200-8-1.503600-8 1.43290-12 2.14960-12 9.91080-15 125 6 2 140 + 1.84620-14-8.57750-18-1.95610-17 125 6 2 141 + 0.000000+0 4.600000+5 1 0 21 6 125 6 2 142 + 3.280100-1 2.262600-6 3.65990-11 5.80730-16 5.22460-17 1.00450-16 125 6 2 143 +-8.88180-17 5.186800-1 1.640100-1-2.036400-4-1.001300-4 1.517500-6 125 6 2 144 + 1.252900-6-1.491200-8-1.680500-8 1.75430-12 2.51480-12 1.28360-14 125 6 2 145 + 2.26330-14-1.17660-17-2.51070-17 125 6 2 146 + 0.000000+0 4.800000+5 1 0 21 6 125 6 2 147 + 3.400400-1 2.572800-6 4.48400-11 7.51540-16-2.08980-16 1.42740-16 125 6 2 148 +-6.21720-17 5.148600-1 1.700200-1-2.118500-4-1.017000-4 1.661900-6 125 6 2 149 + 1.333000-6-1.716800-8-1.868200-8 2.12450-12 2.92030-12 1.63900-14 125 6 2 150 + 2.74850-14-1.58500-17-3.18570-17 125 6 2 151 + 0.000000+0 5.000000+5 1 0 21 6 125 6 2 152 + 3.514300-1 2.904700-6 5.44370-11 9.90660-16-1.56740-16 1.79750-16 125 6 2 153 +-5.32910-17 5.106900-1 1.757100-1-2.198900-4-1.031700-4 1.811700-6 125 6 2 154 + 1.413900-6-1.962600-8-2.066500-8 2.54790-12 3.36820-12 2.06650-14 125 6 2 155 + 3.30910-14-2.10150-17-4.00020-17 125 6 2 156 + 0.000000+0 5.500000+5 1 0 21 6 125 6 2 157 + 3.772300-1 3.828200-6 8.53340-11 1.77640-15-3.13470-16 3.70070-17 125 6 2 158 +-1.95400-16 4.990600-1 1.886100-1-2.392600-4-1.064500-4 2.209100-6 125 6 2 159 + 1.619400-6-2.669600-8-2.610000-8 3.86840-12 4.68880-12 3.51750-14 125 6 2 160 + 5.09130-14-4.00960-17-6.78810-17 125 6 2 161 + 0.000000+0 6.000000+5 1 0 21 6 125 6 2 162 + 3.994200-1 4.882800-6 1.28130-10 2.93780-15-3.65720-16 1.42740-16 125 6 2 163 +-5.32910-17 4.861900-1 1.997100-1-2.576500-4-1.092200-4 2.637800-6 125 6 2 164 + 1.828800-6-3.516800-8-3.222000-8 5.62190-12 6.32380-12 5.66110-14 125 6 2 165 + 7.52310-14-7.13900-17-1.09660-16 125 6 2 166 + 0.000000+0 6.500000+5 1 0 21 6 125 6 2 167 + 4.183000-1 6.063400-6 1.85610-10 4.95330-15-3.65720-16 1.63890-16 125 6 2 168 +-1.24340-16 4.725700-1 2.091500-1-2.751400-4-1.115800-4 3.096500-6 125 6 2 169 + 2.041600-6-4.513300-8-3.902900-8 7.88570-12 8.30810-12 8.70880-14 125 6 2 170 + 1.07500-13-1.20270-16-1.70070-16 125 6 2 171 + 0.000000+0 7.000000+5 1 0 21 6 125 6 2 172 + 4.341500-1 7.364000-6 2.60880-10 7.51540-15-8.35930-16 8.98750-17 125 6 2 173 +-2.13160-16 4.585500-1 2.170700-1-2.917700-4-1.135800-4 3.583700-6 125 6 2 174 + 2.257300-6-5.668200-8-4.653300-8 1.07410-11 1.06770-11 1.29080-13 125 6 2 175 + 1.49310-13-1.93640-16-2.54800-16 125 6 2 176 + 0.000000+0 7.500000+5 1 0 21 6 125 6 2 177 + 4.472900-1 8.777800-6 3.57320-10 1.18880-14-7.31440-16-1.05740-17 125 6 2 178 +-2.48690-16 4.443900-1 2.236400-1-3.076100-4-1.152600-4 4.098300-6 125 6 2 179 + 2.475500-6-6.989600-8-5.473500-8 1.42740-11 1.34640-11 1.85430-13 125 6 2 180 + 2.02440-13-3.00160-16-3.70640-16 125 6 2 181 + 0.000000+0 8.000000+5 1 0 21 6 125 6 2 182 + 4.580100-1 1.029800-5 4.78630-10 1.76950-14-6.79200-16 0.000000+0 125 6 2 183 +-8.88180-17 4.302900-1 2.290000-1-3.227100-4-1.166800-4 4.639200-6 125 6 2 184 + 2.695900-6-8.485700-8-6.363600-8 1.85720-11 1.67040-11 2.59380-13 125 6 2 185 + 2.68790-13-4.50510-16-5.25560-16 125 6 2 186 + 0.000000+0 8.500000+5 1 0 21 6 125 6 2 187 + 4.665600-1 1.191700-5 6.28750-10 2.61670-14-6.26950-16-1.26880-16 125 6 2 188 +-2.30930-16 4.163800-1 2.332800-1-3.371100-4-1.178600-4 5.205400-6 125 6 2 189 + 2.918100-6-1.016400-7-7.323800-8 2.37290-11 2.04330-11 3.54580-13 125 6 2 190 + 3.50420-13-6.57640-16-7.28790-16 125 6 2 191 + 0.000000+0 9.000000+5 1 0 21 6 125 6 2 192 + 4.732200-1 1.362900-5 8.11950-10 3.79180-14-8.35930-16-2.22040-16 125 6 2 193 +-3.19740-16 4.027700-1 2.366000-1-3.508400-4-1.188300-4 5.795800-6 125 6 2 194 + 3.142000-6-1.203200-7-8.354300-8 2.98390-11 2.46830-11 4.75120-13 125 6 2 195 + 4.49570-13-9.37060-16-9.90940-16 125 6 2 196 + 0.000000+0 9.500000+5 1 0 21 6 125 6 2 197 + 4.781900-1 1.542600-5 1.032700-9 5.33590-14-1.04490-15-2.53770-16 125 6 2 198 +-3.55270-16 3.895200-1 2.390900-1-3.639600-4-1.196100-4 6.409800-6 125 6 2 199 + 3.367300-6-1.409600-7-9.454900-8 3.70030-11 2.94900-11 6.25520-13 125 6 2 200 + 5.68610-13-1.30710-15-1.32410-15 125 6 2 201 + 0.000000+0 1.000000+6 1 0 21 6 125 6 2 202 + 4.817000-1 1.730200-5 1.295900-9 7.45390-14-8.88180-16-1.79750-16 125 6 2 203 +-4.26330-16 3.766900-1 2.408400-1-3.764800-4-1.202300-4 7.046400-6 125 6 2 204 + 3.593800-6-1.636300-7-1.062600-7 4.53200-11 3.48860-11 8.10760-13 125 6 2 205 + 7.10070-13-1.78920-15-1.74190-15 125 6 2 206 + 0.000000+0 1.100000+6 1 0 21 6 125 6 2 207 + 4.850300-1 2.126700-5 1.970000-9 1.37330-13-1.14940-15-5.23390-16 125 6 2 208 +-3.10860-16 3.523800-1 2.425100-1-3.998700-4-1.210100-4 8.384600-6 125 6 2 209 + 4.050000-6-2.153100-7-1.317700-7 6.58360-11 4.75810-11 1.30810-12 125 6 2 210 + 1.07120-12-3.19290-15-2.89440-15 125 6 2 211 + 0.000000+0 1.200000+6 1 0 21 6 125 6 2 212 + 4.844700-1 2.547900-5 2.877900-9 2.39400-13-1.61960-15-6.60850-16 125 6 2 213 +-5.06260-16 3.299500-1 2.422300-1-4.212400-4-1.213000-4 9.805100-6 125 6 2 214 + 4.509400-6-2.758400-7-1.600800-7 9.22470-11 6.30330-11 2.01680-12 125 6 2 215 + 1.55620-12-5.39410-15-4.59270-15 125 6 2 216 + 0.000000+0 1.300000+6 1 0 21 6 125 6 2 217 + 4.810100-1 2.990100-5 4.067300-9 3.98660-13-1.67190-15-6.92570-16 125 6 2 218 +-7.10540-16 3.093700-1 2.405000-1-4.407600-4-1.211600-4 1.130300-5 125 6 2 219 + 4.971100-6-3.456800-7-1.911700-7 1.25450-10 8.15000-11 2.99480-12 125 6 2 220 + 2.19100-12-8.70900-15-7.01210-15 125 6 2 221 + 0.000000+0 1.400000+6 1 0 21 6 125 6 2 222 + 4.754300-1 3.450000-5 5.589800-9 6.37850-13-1.98530-15-7.98300-16 125 6 2 223 +-5.86200-16 2.905500-1 2.377000-1-4.585800-4-1.206600-4 1.287400-5 125 6 2 224 + 5.434500-6-4.252200-7-2.250100-7 1.66380-10 1.03240-10 4.30850-12 125 6 2 225 + 3.00390-12-1.35350-14-1.03620-14 125 6 2 226 + 0.000000+0 1.500000+6 1 0 21 6 125 6 2 227 + 4.683100-1 3.924900-5 7.500900-9 9.85880-13-2.45560-15-6.60850-16 125 6 2 228 +-7.99360-16 2.733800-1 2.341400-1-4.748500-4-1.198500-4 1.451400-5 125 6 2 229 + 5.899000-6-5.148600-7-2.615800-7 2.15980-10 1.28490-10 6.03360-12 125 6 2 230 + 4.02560-12-2.03620-14-1.48900-14 125 6 2 231 + 0.000000+0 1.600000+6 1 0 21 6 125 6 2 232 + 4.601100-1 4.412400-5 9.859600-9 1.47990-12-2.40330-15-9.88630-16 125 6 2 233 +-9.23710-16 2.577100-1 2.300400-1-4.896700-4-1.187700-4 1.621900-5 125 6 2 234 + 6.364200-6-6.149500-7-3.008500-7 2.75230-10 1.57510-10 8.25510-12 125 6 2 235 + 5.28920-12-2.97840-14-2.08840-14 125 6 2 236 + 0.000000+0 1.700000+6 1 0 21 6 125 6 2 237 + 4.511800-1 4.910600-5 1.272800-8 2.16390-12-2.66450-15-1.02560-15 125 6 2 238 +-9.23710-16 2.434100-1 2.255700-1-5.031500-4-1.174600-4 1.798700-5 125 6 2 239 + 6.829500-6-7.258400-7-3.428000-7 3.45140-10 1.90530-10 1.10680-11 125 6 2 240 + 6.83050-12-4.25110-14-2.86740-14 125 6 2 241 + 0.000000+0 1.800000+6 1 0 21 6 125 6 2 242 + 4.417900-1 5.417900-5 1.617300-8 3.09410-12-3.34370-15-1.10490-15 125 6 2 243 +-1.15460-15 2.303500-1 2.208800-1-5.153800-4-1.159300-4 1.981400-5 125 6 2 244 + 7.294800-6-8.478300-7-3.873900-7 4.26720-10 2.27770-10 1.45760-11 125 6 2 245 + 8.68730-12-5.93860-14-3.86370-14 125 6 2 246 + 0.000000+0 1.900000+6 1 0 21 6 125 6 2 247 + 4.321400-1 5.932800-5 2.026300-8 4.33330-12-3.44820-15-1.34280-15 125 6 2 248 +-1.30560-15 2.184100-1 2.160500-1-5.264300-4-1.142200-4 2.169800-5 125 6 2 249 + 7.759600-6-9.812100-7-4.345800-7 5.21000-10 2.69470-10 1.88950-11 125 6 2 250 + 1.09000-11-8.13880-14-5.12000-14 125 6 2 251 + 0.000000+0 2.000000+6 1 0 21 6 125 6 2 252 + 4.223800-1 6.454300-5 2.506900-8 5.95980-12-4.02290-15-1.56490-15 125 6 2 253 +-1.31450-15 2.074700-1 2.111600-1-5.364000-4-1.123300-4 2.363500-5 125 6 2 254 + 8.223700-6-1.126300-6-4.843600-7 6.29030-10 3.15840-10 2.41500-11 125 6 2 255 + 1.35120-11-1.09660-13-6.68420-14 125 6 2 256 + 0.000000+0 2.100000+6 1 0 21 6 125 6 2 257 + 4.126200-1 6.981300-5 3.066700-8 8.06340-12-4.49310-15-1.65480-15 125 6 2 258 +-1.45660-15 1.974300-1 2.062800-1-5.453200-4-1.102900-4 2.562400-5 125 6 2 259 + 8.687000-6-1.283300-6-5.366700-7 7.51860-10 3.67100-10 3.04780-11 125 6 2 260 + 1.65670-11-1.45500-13-8.60970-14 125 6 2 261 + 0.000000+0 2.200000+6 1 0 21 6 125 6 2 262 + 4.029400-1 7.512900-5 3.713400-8 1.07490-11-5.22460-15-1.77640-15 125 6 2 263 +-1.68750-15 1.882000-1 2.014400-1-5.532800-4-1.081200-4 2.766200-5 125 6 2 264 + 9.149100-6-1.452400-6-5.914800-7 8.90560-10 4.23450-10 3.80270-11 125 6 2 265 + 2.01140-11-1.90410-13-1.09560-13 125 6 2 266 + 0.000000+0 2.300000+6 1 0 21 6 125 6 2 267 + 3.934100-1 8.048300-5 4.454900-8 1.41360-11-6.00830-15-1.83980-15 125 6 2 268 +-1.63420-15 1.797000-1 1.966700-1-5.603100-4-1.058100-4 2.974700-5 125 6 2 269 + 9.610100-6-1.634000-6-6.487500-7 1.046200-9 4.85080-10 4.69550-11 125 6 2 270 + 2.42020-11-2.46070-13-1.37870-13 125 6 2 271 + 0.000000+0 2.400000+6 1 0 21 6 125 6 2 272 + 3.840700-1 8.587000-5 5.299600-8 1.83610-11-7.00090-15-2.25220-15 125 6 2 273 +-1.42110-15 1.718600-1 1.919900-1-5.664800-4-1.033900-4 3.187800-5 125 6 2 274 + 1.007000-5-1.828200-6-7.084500-7 1.219800-9 5.52210-10 5.74330-11 125 6 2 275 + 2.88840-11-3.14390-13-1.71770-13 125 6 2 276 + 0.000000+0 2.500000+6 1 0 21 6 125 6 2 277 + 3.749500-1 9.128200-5 6.255900-8 2.35830-11-8.30710-15-2.31560-15 125 6 2 278 +-1.92730-15 1.646100-1 1.874300-1-5.718100-4-1.008700-4 3.405100-5 125 6 2 279 + 1.052800-5-2.035200-6-7.705300-7 1.412600-9 6.25010-10 6.96430-11 125 6 2 280 + 3.42120-11-3.97480-13-2.12020-13 125 6 2 281 + 0.000000+0 2.600000+6 1 0 21 6 125 6 2 282 + 3.660700-1 9.671600-5 7.332300-8 2.99740-11-1.00310-14-2.31030-15 125 6 2 283 +-1.97180-15 1.578900-1 1.829900-1-5.763700-4-9.824400-5 3.626600-5 125 6 2 284 + 1.098400-5-2.255200-6-8.349500-7 1.625500-9 7.03660-10 8.37790-11 125 6 2 285 + 4.02460-11-4.97730-13-2.59480-13 125 6 2 286 + 0.000000+0 2.700000+6 1 0 21 6 125 6 2 287 + 3.574400-1 1.021700-4 8.537900-8 3.77340-11-1.19640-14-2.40550-15 125 6 2 288 +-2.12270-15 1.516600-1 1.786700-1-5.801800-4-9.552800-5 3.852100-5 125 6 2 289 + 1.143900-5-2.488400-6-9.016700-7 1.859600-9 7.88340-10 1.00050-10 125 6 2 290 + 4.70420-11-6.17760-13-3.15080-13 125 6 2 291 + 0.000000+0 2.800000+6 1 0 21 6 125 6 2 292 + 3.490800-1 1.076300-4 9.881500-8 4.70810-11-1.43680-14-2.72800-15 125 6 2 293 +-2.31810-15 1.458700-1 1.744800-1-5.832800-4-9.272900-5 4.081400-5 125 6 2 294 + 1.189200-5-2.735000-6-9.706400-7 2.116100-9 8.79210-10 1.18670-10 125 6 2 295 + 5.46620-11-7.60460-13-3.79810-13 125 6 2 296 + 0.000000+0 2.900000+6 1 0 21 6 125 6 2 297 + 3.409800-1 1.131000-4 1.137200-7 5.82610-11-1.76590-14-2.90240-15 125 6 2 298 +-2.46910-15 1.404700-1 1.704300-1-5.857000-4-8.985100-5 4.314300-5 125 6 2 299 + 1.234300-5-2.995000-6-1.041800-6 2.395900-9 9.76450-10 1.39870-10 125 6 2 300 + 6.31700-11-9.29030-13-4.54760-13 125 6 2 301 + 0.000000+0 3.000000+6 1 0 21 6 125 6 2 302 + 3.331500-1 1.185800-4 1.302000-7 7.15430-11-2.17860-14-2.94470-15 125 6 2 303 +-2.39810-15 1.354300-1 1.665100-1-5.874800-4-8.690000-5 4.550700-5 125 6 2 304 + 1.279200-5-3.268700-6-1.115200-6 2.700200-9 1.080200-9 1.63900-10 125 6 2 305 + 7.26310-11-1.12700-12-5.41070-13 125 6 2 306 + 0.000000+0 3.200000+6 1 0 21 6 125 6 2 307 + 3.182600-1 1.295300-4 1.682300-7 1.05630-10-3.30720-14-3.27780-15 125 6 2 308 +-2.68230-15 1.263200-1 1.590600-1-5.892100-4-8.080100-5 5.033600-5 125 6 2 309 + 1.368400-5-3.857500-6-1.268300-6 3.386400-9 1.307800-9 2.21480-10 125 6 2 310 + 9.46850-11-1.62650-12-7.52850-13 125 6 2 311 + 0.000000+0 3.400000+6 1 0 21 6 125 6 2 312 + 3.043700-1 1.404700-4 2.136700-7 1.52070-10-5.02600-14-3.44170-15 125 6 2 313 +-2.86880-15 1.183000-1 1.521000-1-5.886800-4-7.446500-5 5.528900-5 125 6 2 314 + 1.456700-5-4.502500-6-1.429500-6 4.183100-9 1.563200-9 2.93620-10 125 6 2 315 + 1.21390-10-2.29370-12-1.02610-12 125 6 2 316 + 0.000000+0 3.600000+6 1 0 21 6 125 6 2 317 + 2.914200-1 1.513800-4 2.673200-7 2.14110-10-7.60700-14-3.87260-15 125 6 2 318 +-3.14420-15 1.112100-1 1.456200-1-5.860800-4-6.792400-5 6.035800-5 125 6 2 319 + 1.544200-5-5.204300-6-1.598600-6 5.098400-9 1.847500-9 3.82740-10 125 6 2 320 + 1.53340-10-3.16910-12-1.37330-12 125 6 2 321 + 0.000000+0 3.800000+6 1 0 21 6 125 6 2 322 + 2.793400-1 1.622300-4 3.299600-7 2.95540-10-1.13740-13-4.12900-15 125 6 2 323 +-3.34840-15 1.049100-1 1.395700-1-5.815700-4-6.120200-5 6.553200-5 125 6 2 324 + 1.630700-5-5.963800-6-1.775100-6 6.140500-9 2.161400-9 4.91480-10 125 6 2 325 + 1.91180-10-4.29980-12-1.80820-12 125 6 2 326 + 0.000000+0 4.000000+6 1 0 21 6 125 6 2 327 + 2.680800-1 1.730200-4 4.024000-7 4.00760-10-1.68230-13-4.41450-15 125 6 2 328 +-3.58820-15 9.926300-2 1.339300-1-5.753000-4-5.432100-5 7.080300-5 125 6 2 329 + 1.716400-5-6.781500-6-1.958700-6 7.317100-9 2.505900-9 6.22680-10 125 6 2 330 + 2.35570-10-5.73980-12-2.34660-12 125 6 2 331 + 0.000000+0 4.200000+6 1 0 21 6 125 6 2 332 + 2.575700-1 1.837300-4 4.854600-7 5.34810-10-2.44460-13-4.76340-15 125 6 2 333 +-3.85910-15 9.419200-2 1.286600-1-5.674100-4-4.730200-5 7.616500-5 125 6 2 334 + 1.801000-5-7.657900-6-2.149100-6 8.635800-9 2.881600-9 7.79440-10 125 6 2 335 + 2.87200-10-7.55070-12-3.00540-12 125 6 2 336 + 0.000000+0 4.400000+6 1 0 21 6 125 6 2 337 + 2.477400-1 1.943500-4 5.799300-7 7.03430-10-3.50990-13-4.96430-15 125 6 2 338 +-4.00570-15 8.961300-2 1.237400-1-5.580100-4-4.016100-5 8.161000-5 125 6 2 339 + 1.884800-5-8.593400-6-2.345800-6 1.010400-8 3.289300-9 9.65050-10 125 6 2 340 + 3.46800-10-9.80210-12-3.80390-12 125 6 2 341 + 0.000000+0 4.600000+6 1 0 21 6 125 6 2 342 + 2.385500-1 2.048600-4 6.866200-7 9.13120-10-4.96280-13-5.24710-15 125 6 2 343 +-4.27660-15 8.546000-2 1.191300-1-5.472300-4-3.291400-5 8.713100-5 125 6 2 344 + 1.967500-5-9.588300-6-2.548600-6 1.172900-8 3.729500-9 1.183000-9 125 6 2 345 + 4.15130-10-1.25720-11-4.76260-12 125 6 2 346 + 0.000000+0 4.800000+6 1 0 21 6 125 6 2 347 + 2.299300-1 2.152700-4 8.063300-7 1.171100-9-6.92180-13-5.49300-15 125 6 2 348 +-4.50310-15 8.167800-2 1.148100-1-5.351500-4-2.557400-5 9.272200-5 125 6 2 349 + 2.049400-5-1.064300-5-2.757100-6 1.351600-8 4.202600-9 1.437200-9 125 6 2 350 + 4.92970-10-1.59490-11-5.90440-12 125 6 2 351 + 0.000000+0 5.000000+6 1 0 21 6 125 6 2 352 + 2.218400-1 2.255500-4 9.398500-7 1.485500-9-9.52860-13-5.76790-15 125 6 2 353 +-4.75620-15 7.822300-2 1.107500-1-5.218700-4-1.815300-5 9.837800-5 125 6 2 354 + 2.130200-5-1.175700-5-2.971000-6 1.547400-8 4.709100-9 1.731400-9 125 6 2 355 + 5.81140-10-2.00300-11-7.25390-12 125 6 2 356 + 0.000000+0 5.500000+6 1 0 21 6 125 6 2 357 + 2.036800-1 2.506900-4 1.339100-6 2.579500-9-2.00990-12-6.38910-15 125 6 2 358 +-5.37350-15 7.076500-2 1.016400-1-4.839800-4 6.785600-7 1.127600-4 125 6 2 359 + 2.328100-5-1.480500-5-3.526800-6 2.114700-8 6.122400-9 2.670900-9 125 6 2 360 + 8.52360-10-3.40450-11-1.17160-11 125 6 2 361 + 0.000000+0 6.000000+6 1 0 21 6 125 6 2 362 + 1.880000-1 2.749300-4 1.841200-6 4.250100-9-3.96850-12-6.69830-15 125 6 2 363 +-5.89310-15 6.464300-2 9.377000-2-4.402900-4 1.979600-5 1.274300-4 125 6 2 364 + 2.520100-5-1.822600-5-4.108800-6 2.800100-8 7.747500-9 3.960400-9 125 6 2 365 + 1.207400-9-5.51590-11-1.81250-11 125 6 2 366 + 0.000000+0 6.500000+6 1 0 21 6 125 6 2 367 + 1.743700-1 2.982000-4 2.457000-6 6.701600-9-7.40420-12-6.62700-15 125 6 2 368 +-6.50150-15 5.953200-2 8.691700-2-3.917700-4 3.908100-5 1.423200-4 125 6 2 369 + 2.706200-5-2.201600-5-4.711800-6 3.610100-8 9.583000-9 5.681500-9 125 6 2 370 + 1.661100-9-8.58490-11-2.70430-11 125 6 2 371 + 0.000000+0 7.000000+6 1 0 21 6 125 6 2 372 + 1.624100-1 3.204500-4 3.196500-6 1.018000-8-1.31590-11-5.92910-15 125 6 2 373 +-7.01660-15 5.520300-2 8.090400-2-3.392600-4 5.843600-5 1.573700-4 125 6 2 374 + 2.886500-5-2.617200-5-5.331300-6 4.550000-8 1.162500-8 7.924700-9 125 6 2 375 + 2.229400-9-1.29140-10-3.91260-11 125 6 2 376 + 0.000000+0 7.500000+6 1 0 21 6 125 6 2 377 + 1.518500-1 3.416500-4 4.068500-6 1.497600-8-2.24210-11-3.84880-15 125 6 2 378 +-7.55400-15 5.149200-2 7.559100-2-2.834600-4 7.778000-5 1.725200-4 125 6 2 379 + 3.061300-5-3.068500-5-5.962500-6 5.623100-8 1.386600-8 1.079000-8 125 6 2 380 + 2.929000-9-1.88630-10-5.51300-11 125 6 2 381 + 0.000000+0 8.000000+6 1 0 21 6 125 6 2 382 + 1.424800-1 3.618000-4 5.080700-6 2.142500-8-3.68260-11 4.89030-16 125 6 2 383 +-8.11350-15 4.827400-2 7.086600-2-2.249700-4 9.704900-5 1.877300-4 125 6 2 384 + 3.230600-5-3.554800-5-6.601300-6 6.830800-8 1.629600-8 1.438500-8 125 6 2 385 + 3.777400-9-2.68610-10-7.59120-11 125 6 2 386 + 0.000000+0 8.500000+6 1 0 21 6 125 6 2 387 + 1.341000-1 3.808900-4 6.239300-6 2.991000-8-5.85610-11 8.48790-15 125 6 2 388 +-8.65530-15 4.545700-2 6.664000-2-1.643400-4 1.161900-4 2.029600-4 125 6 2 389 + 3.394800-5-4.075000-5-7.243600-6 8.172700-8 1.890300-8 1.882900-8 125 6 2 390 + 4.793000-9-3.74030-10-1.02440-10 125 6 2 391 + 0.000000+0 9.000000+6 1 0 21 6 125 6 2 392 + 1.265700-1 3.989300-4 7.549200-6 4.086000-8-9.04980-11 2.24640-14 125 6 2 393 +-9.21260-15 4.297000-2 6.283900-2-1.020100-4 1.351500-4 2.181600-4 125 6 2 394 + 3.553800-5-4.628000-5-7.885700-6 9.646400-8 2.167100-8 2.424800-8 125 6 2 395 + 5.994700-9-5.10630-10-1.35780-10 125 6 2 396 + 0.000000+0 9.500000+6 1 0 21 6 125 6 2 397 + 1.197800-1 4.159600-4 9.014100-6 5.475300-8-1.36330-10 4.55670-14 125 6 2 398 +-9.74550-15 4.075800-2 5.940300-2-3.839600-5 1.539000-4 2.333100-4 125 6 2 399 + 3.708000-5-5.212700-5-8.524200-6 1.124800-7 2.458400-8 3.077600-8 125 6 2 400 + 7.402300-9-6.84940-10-1.77130-10 125 6 2 401 + 0.000000+0 1.000000+7 1 0 21 6 125 6 2 402 + 1.136100-1 4.319900-4 1.063600-5 7.211100-8-2.00710-10 8.25620-14 125 6 2 403 +-1.02610-14 3.877700-2 5.628400-2 2.614500-5 1.724000-4 2.483700-4 125 6 2 404 + 3.857400-5-5.827800-5-9.155700-6 1.297100-7 2.762200-8 3.855800-8 125 6 2 405 + 9.036100-9-9.04350-10-2.27810-10 125 6 2 406 + 0.000000+0 1.050000+7 1 0 21 6 125 6 2 407 + 1.080000-1 4.470700-4 1.241500-5 9.350000-8-2.89440-10 1.40100-13 125 6 2 408 +-1.08270-14 3.699300-2 5.344000-2 9.129400-5 1.906300-4 2.633200-4 125 6 2 409 + 4.002300-5-6.471800-5-9.777400-6 1.480600-7 3.076300-8 4.774500-8 125 6 2 410 + 1.091700-8-1.177200-9-2.89220-10 125 6 2 411 + 0.000000+0 1.100000+7 1 0 21 6 125 6 2 412 + 1.028700-1 4.612300-4 1.435200-5 1.195300-7-4.09650-10 2.27440-13 125 6 2 413 +-1.13380-14 3.537600-2 5.083800-2 1.567700-4 2.085800-4 2.781300-4 125 6 2 414 + 4.142900-5-7.143300-5-1.038600-5 1.674500-7 3.398400-8 5.849600-8 125 6 2 415 + 1.306600-8-1.512700-9-3.62940-10 125 6 2 416 + 0.000000+0 1.150000+7 1 0 21 6 125 6 2 417 + 9.817000-2 4.745300-4 1.644300-5 1.508500-7-5.69960-10 3.57180-13 125 6 2 418 +-1.17790-14 3.390400-2 4.844700-2 2.223300-4 2.262100-4 2.927800-4 125 6 2 419 + 4.279200-5-7.840800-5-1.098000-5 1.877500-7 3.726000-8 7.097900-8 125 6 2 420 + 1.550500-8-1.921100-9-4.50620-10 125 6 2 421 + 0.000000+0 1.200000+7 1 0 21 6 125 6 2 422 + 9.384100-2 4.870000-4 1.868600-5 1.881300-7-7.80690-10 5.46320-13 125 6 2 423 +-1.22150-14 3.255800-2 4.624500-2 2.877400-4 2.435200-4 3.072500-4 125 6 2 424 + 4.411500-5-8.562800-5-1.155700-5 2.088300-7 4.056400-8 8.536900-8 125 6 2 425 + 1.825700-8-2.413800-9-5.54080-10 125 6 2 426 + 0.000000+0 1.250000+7 1 0 21 6 125 6 2 427 + 8.984600-2 4.987000-4 2.107500-5 2.321000-7-1.054100-9 8.17240-13 125 6 2 428 +-1.25790-14 3.132200-2 4.420800-2 3.528000-4 2.605000-4 3.215200-4 125 6 2 429 + 4.540000-5-9.307600-5-1.211400-5 2.305100-7 4.386800-8 1.018500-7 125 6 2 430 + 2.134400-8-3.003100-9-6.75240-10 125 6 2 431 + 0.000000+0 1.300000+7 1 0 21 6 125 6 2 432 + 8.614800-2 5.096800-4 2.360500-5 2.834900-7-1.404400-9 1.19930-12 125 6 2 433 +-1.28210-14 3.018200-2 4.232100-2 4.173400-4 2.771300-4 3.355800-4 125 6 2 434 + 4.664600-5-1.007300-4-1.265000-5 2.526300-7 4.714300-8 1.206000-7 125 6 2 435 + 2.479000-8-3.702500-9-8.16150-10 125 6 2 436 + 0.000000+0 1.350000+7 1 0 21 6 125 6 2 437 + 8.271600-2 5.199700-4 2.626900-5 3.430600-7-1.848500-9 1.73030-12 125 6 2 438 +-1.29010-14 2.912800-2 4.056700-2 4.812000-4 2.934200-4 3.494100-4 125 6 2 439 + 4.785700-5-1.085900-4-1.316200-5 2.750000-7 5.035700-8 1.418300-7 125 6 2 440 + 2.861700-8-4.526800-9-9.79010-10 125 6 2 441 + 0.000000+0 1.400000+7 1 0 21 6 125 6 2 442 + 7.952400-2 5.296300-4 2.905800-5 4.115900-7-2.405400-9 2.45880-12 125 6 2 443 +-1.27590-14 2.815000-2 3.893200-2 5.442300-4 3.093500-4 3.630000-4 125 6 2 444 + 4.903200-5-1.166200-4-1.365000-5 2.974000-7 5.347800-8 1.657300-7 125 6 2 445 + 3.284900-8-5.491700-9-1.166100-9 125 6 2 446 + 0.000000+0 1.450000+7 1 0 21 6 125 6 2 447 + 7.654700-2 5.387000-4 3.196400-5 4.898600-7-3.097100-9 3.44570-12 125 6 2 448 +-1.21990-14 2.723900-2 3.740600-2 6.063200-4 3.249200-4 3.763400-4 125 6 2 449 + 5.017400-5-1.248100-4-1.411200-5 3.196000-7 5.647400-8 1.925100-7 125 6 2 450 + 3.751000-8-6.614300-9-1.379900-9 125 6 2 451 + 0.000000+0 1.500000+7 1 0 21 6 125 6 2 452 + 7.376500-2 5.472300-4 3.497700-5 5.786600-7-3.948600-9 4.76760-12 125 6 2 453 +-1.12420-14 2.638900-2 3.597700-2 6.673400-4 3.401400-4 3.894100-4 125 6 2 454 + 5.128300-5-1.331500-4-1.454600-5 3.413700-7 5.931100-8 2.223900-7 125 6 2 455 + 4.262400-8-7.913000-9-1.623000-9 125 6 2 456 + 0.000000+0 1.550000+7 1 0 21 6 125 6 2 457 + 7.116000-2 5.552400-4 3.808500-5 6.787700-7-4.987900-9 6.51950-12 125 6 2 458 +-9.55900-15 2.559400-2 3.463700-2 7.272100-4 3.550000-4 4.022200-4 125 6 2 459 + 5.236100-5-1.416100-4-1.495200-5 3.624400-7 6.195300-8 2.555700-7 125 6 2 460 + 4.821600-8-9.407300-9-1.898100-9 125 6 2 461 + 0.000000+0 1.600000+7 1 0 21 6 125 6 2 462 + 6.871600-2 5.627900-4 4.127800-5 7.909600-7-6.246500-9 8.81820-12 125 6 2 463 +-6.95670-15 2.484800-2 3.337700-2 7.858200-4 3.695000-4 4.147400-4 125 6 2 464 + 5.340700-5-1.501800-4-1.532800-5 3.825400-7 6.436600-8 2.922900-7 125 6 2 465 + 5.431000-8-1.111800-8-2.208000-9 125 6 2 466 + 0.000000+0 1.700000+7 1 0 21 6 125 6 2 467 + 6.425700-2 5.766300-4 4.786900-5 1.054600-6-9.564600-9 1.56570-11 125 6 2 468 + 2.33150-15 2.348500-2 3.107300-2 8.990100-4 3.974200-4 4.389400-4 125 6 2 469 + 5.541300-5-1.675700-4-1.598700-5 4.186600-7 6.835900-8 3.772300-7 125 6 2 470 + 6.810300-8-1.528000-8-2.944100-9 125 6 2 471 + 0.000000+0 1.800000+7 1 0 21 6 125 6 2 472 + 6.029100-2 5.889700-4 5.464900-5 1.375300-6-1.422800-8 2.68180-11 125 6 2 473 + 2.04840-14 2.227100-2 2.901700-2 1.006400-3 4.239300-4 4.619500-4 125 6 2 474 + 5.730600-5-1.851800-4-1.651800-5 4.472700-7 7.099600-8 4.790700-7 125 6 2 475 + 8.420300-8-2.059400-8-3.856500-9 125 6 2 476 + 0.000000+0 1.900000+7 1 0 21 6 125 6 2 477 + 5.674400-2 6.000100-4 6.151100-5 1.758200-6-2.062300-8 4.44920-11 125 6 2 478 + 5.36060-14 2.118200-2 2.717200-2 1.107600-3 4.490500-4 4.837600-4 125 6 2 479 + 5.909100-5-2.028800-4-1.691400-5 4.657000-7 7.197800-8 5.997300-7 125 6 2 480 + 1.028100-7-2.727400-8-4.972300-9 125 6 2 481 + 0.000000+0 2.000000+7 1 0 21 6 125 6 2 482 + 5.355400-2 6.099300-4 6.834600-5 2.207600-6-2.920400-8 7.17370-11 125 6 2 483 + 1.11330-13 2.019700-2 2.550700-2 1.202400-3 4.728200-4 5.043400-4 125 6 2 484 + 6.077300-5-2.205200-4-1.717200-5 4.711400-7 7.100400-8 7.411400-7 125 6 2 485 + 1.241200-7-3.556100-8-6.320400-9 125 6 2 486 + 0.000000+0 2.100000+7 1 0 21 6 125 6 2 487 + 5.067100-2 6.188200-4 7.504600-5 2.726700-6-4.049100-8 1.12720-10 125 6 2 488 + 2.08310-13 1.930300-2 2.399600-2 1.290500-3 4.952600-4 5.236800-4 125 6 2 489 + 6.235600-5-2.379800-4-1.728600-5 4.606000-7 6.777300-8 9.053000-7 125 6 2 490 + 1.483500-7-4.571500-8-7.931700-9 125 6 2 491 + 0.000000+0 2.200000+7 1 0 21 6 125 6 2 492 + 4.805400-2 6.267700-4 8.150800-5 3.317800-6-5.506900-8 1.73040-10 125 6 2 493 + 3.66330-13 1.848600-2 2.262000-2 1.371900-3 5.164200-4 5.418000-4 125 6 2 494 + 6.384200-5-2.551300-4-1.725500-5 4.309900-7 6.198700-8 1.094200-6 125 6 2 495 + 1.756900-7-5.802000-8-9.838700-9 125 6 2 496 + 0.000000+0 2.300000+7 1 0 21 6 125 6 2 497 + 4.566900-2 6.338400-4 8.763000-5 3.981600-6-7.358700-8 2.60050-10 125 6 2 498 + 6.17080-13 1.773600-2 2.136100-2 1.446600-3 5.363500-4 5.586800-4 125 6 2 499 + 6.523500-5-2.718500-4-1.707600-5 3.791000-7 5.335200-8 1.309800-6 125 6 2 500 + 2.063400-7-7.278300-8-1.207500-8 125 6 2 501 + 0.000000+0 2.400000+7 1 0 21 6 125 6 2 502 + 4.348800-2 6.400500-4 9.332200-5 4.717500-6-9.674900-8 3.83260-10 125 6 2 503 + 1.00570-12 1.704400-2 2.020600-2 1.514600-3 5.550900-4 5.743500-4 125 6 2 504 + 6.653500-5-2.880200-4-1.674600-5 3.016600-7 4.158100-8 1.554100-6 125 6 2 505 + 2.405100-7-9.033200-8-1.467700-8 125 6 2 506 + 0.000000+0 2.500000+7 1 0 21 6 125 6 2 507 + 4.148500-2 6.454000-4 9.850000-5 5.523600-6-1.253100-7 5.54840-10 125 6 2 508 + 1.59570-12 1.640400-2 1.914200-2 1.575900-3 5.726900-4 5.888200-4 125 6 2 509 + 6.774500-5-3.035300-4-1.626500-5 1.953300-7 2.639400-8 1.829100-6 125 6 2 510 + 2.784000-7-1.110200-7-1.768200-8 125 6 2 511 + 0.000000+0 2.600000+7 1 0 21 6 125 6 2 512 + 3.964200-2 6.499100-4 1.030900-4 6.396400-6-1.600500-7 7.90080-10 125 6 2 513 + 2.47400-12 1.581000-2 1.815900-2 1.630800-3 5.892100-4 6.021300-4 125 6 2 514 + 6.886600-5-3.182900-4-1.563100-5 5.676600-8 7.525500-9 2.136800-6 125 6 2 515 + 3.202100-7-1.352100-7-2.112700-8 125 6 2 516 + 0.000000+0 2.700000+7 1 0 21 6 125 6 2 517 + 3.794000-2 6.535400-4 1.070300-4 7.330900-6-2.018000-7 1.108000-9 125 6 2 518 + 3.75910-12 1.525500-2 1.724900-2 1.679200-3 6.047000-4 6.142800-4 125 6 2 519 + 6.989900-5-3.321900-4-1.484400-5-1.174100-7-1.528200-8 2.478900-6 125 6 2 520 + 3.661300-7-1.633100-7-2.505200-8 125 6 2 521 + 0.000000+0 2.800000+7 1 0 21 6 125 6 2 522 + 3.636500-2 6.563000-4 1.102800-4 8.320800-6-2.513700-7 1.532000-9 125 6 2 523 + 5.60890-12 1.473700-2 1.640300-2 1.721500-3 6.192100-4 6.253100-4 125 6 2 524 + 7.084500-5-3.451600-4-1.390500-5-3.305500-7-4.227200-8 2.857400-6 125 6 2 525 + 4.163700-7-1.957100-7-2.949700-8 125 6 2 526 + 0.000000+0 2.900000+7 1 0 21 6 125 6 2 527 + 3.490300-2 6.581600-4 1.127900-4 9.358400-6-3.095700-7 2.090500-9 125 6 2 528 + 8.23200-12 1.425100-2 1.561600-2 1.757700-3 6.327900-4 6.352600-4 125 6 2 529 + 7.170500-5-3.571000-4-1.281500-5-5.859700-7-7.367200-8 3.273900-6 125 6 2 530 + 4.711200-7-2.328600-7-3.450400-8 125 6 2 531 + 0.000000+0 3.000000+7 1 0 21 6 125 6 2 532 + 3.354500-2 6.591200-4 1.145400-4 1.043500-5-3.771800-7 2.817600-9 125 6 2 533 + 1.19000-11 1.379400-2 1.488200-2 1.788300-3 6.455200-4 6.441600-4 125 6 2 534 + 7.247900-5-3.679500-4-1.157600-5-8.869500-7-1.096900-7 3.730300-6 125 6 2 535 + 5.305700-7-2.752100-7-4.011400-8 125 6 2 536 + 0.000000+0 3.200000+7 1 0 21 6 125 6 2 537 + 3.109900-2 6.583100-4 1.157400-4 1.266500-5-5.434300-7 4.947800-9 125 6 2 538 + 2.38660-11 1.295600-2 1.355400-2 1.832900-3 6.686100-4 6.589200-4 125 6 2 539 + 7.377600-5-3.861000-4-8.665000-6-1.638200-6-1.963600-7 4.768800-6 125 6 2 540 + 6.643400-7-3.773400-7-5.331200-8 125 6 2 541 + 0.000000+0 3.400000+7 1 0 21 6 125 6 2 542 + 2.896300-2 6.539300-4 1.139400-4 1.492400-5-7.548200-7 8.341800-9 125 6 2 543 + 4.55810-11 1.220500-2 1.238600-2 1.857400-3 6.889300-4 6.699100-4 125 6 2 544 + 7.474400-5-3.991700-4-5.207600-6-2.608700-6-3.036200-7 5.984400-6 125 6 2 545 + 8.191500-7-5.060200-7-6.943500-8 125 6 2 546 + 0.000000+0 3.600000+7 1 0 21 6 125 6 2 547 + 2.708800-2 6.462100-4 1.093800-4 1.711900-5-1.013900-6 1.356300-8 125 6 2 548 + 8.33800-11 1.152600-2 1.135400-2 1.863900-3 7.069400-4 6.774100-4 125 6 2 549 + 7.539200-5-4.068400-4-1.255200-6-3.820600-6-4.324700-7 7.387000-6 125 6 2 550 + 9.964500-7-6.653200-7-8.882400-8 125 6 2 551 + 0.000000+0 3.800000+7 1 0 21 6 125 6 2 552 + 2.543400-2 6.355200-4 1.024900-4 1.915900-5-1.320300-6 2.134900-8 125 6 2 553 + 1.46780-10 1.091000-2 1.043700-2 1.854200-3 7.230500-4 6.817300-4 125 6 2 554 + 7.573100-5-4.088800-4 3.125600-6-5.294000-6-5.836000-7 8.984400-6 125 6 2 555 + 1.197600-6-8.594800-7-1.118100-7 125 6 2 556 + 0.000000+0 4.000000+7 1 0 21 6 125 6 2 557 + 2.396900-2 6.223500-4 9.380500-5 2.096200-5-1.669700-6 3.263400-8 125 6 2 558 + 2.49610-10 1.034700-2 9.619500-3 1.830600-3 7.376400-4 6.831600-4 125 6 2 559 + 7.577600-5-4.051600-4 7.854200-6-7.045700-6-7.573200-7 1.078200-5 125 6 2 560 + 1.423700-6-1.092800-6-1.387300-7 125 6 2 561 + 0.000000+0 4.200000+7 1 0 21 6 125 6 2 562 + 2.266700-2 6.073200-4 8.394500-5 2.246000-5-2.053500-6 4.857700-8 125 6 2 563 + 4.11450-10 9.830900-3 8.888200-3 1.794900-3 7.510500-4 6.819900-4 125 6 2 564 + 7.554200-5-3.956300-4 1.283900-5-9.089600-6-9.535700-7 1.278300-5 125 6 2 565 + 1.676000-6-1.369700-6-1.698800-7 125 6 2 566 + 0.000000+0 4.400000+7 1 0 21 6 125 6 2 567 + 2.150700-2 5.910900-4 7.359600-5 2.360900-5-2.457700-6 7.057600-8 125 6 2 568 + 6.59230-10 9.355200-3 8.232100-3 1.749000-3 7.635500-4 6.785000-4 125 6 2 569 + 7.504600-5-3.803200-4 1.798100-5-1.143600-5-1.171900-6 1.498700-5 125 6 2 570 + 1.955400-6-1.694400-6-2.055600-7 125 6 2 571 + 0.000000+0 4.600000+7 1 0 21 6 125 6 2 572 + 2.047000-2 5.743500-4 6.345600-5 2.438900-5-2.862700-6 1.002800-7 125 6 2 573 + 1.029200-9 8.915600-3 7.642200-3 1.694600-3 7.753800-4 6.729300-4 125 6 2 574 + 7.430800-5-3.593500-4 2.317800-5-1.409100-5-1.411600-6 1.739300-5 125 6 2 575 + 2.262500-6-2.071200-6-2.460100-7 125 6 2 576 + 0.000000+0 4.800000+7 1 0 21 6 125 6 2 577 + 1.954100-2 5.577800-4 5.419800-5 2.480900-5-3.243400-6 1.396000-7 125 6 2 578 + 1.568900-9 8.508500-3 7.110700-3 1.633300-3 7.866800-4 6.655500-4 125 6 2 579 + 7.334600-5-3.328600-4 2.832900-5-1.705900-5-1.671400-6 1.999500-5 125 6 2 580 + 2.597900-6-2.504100-6-2.914700-7 125 6 2 581 + 0.000000+0 5.000000+7 1 0 21 6 125 6 2 582 + 1.870500-2 5.420000-4 4.644100-5 2.490600-5-3.569000-6 1.906800-7 125 6 2 583 + 2.339500-9 8.130500-3 6.631200-3 1.566600-3 7.975700-4 6.565600-4 125 6 2 584 + 7.218300-5-3.010900-4 3.334000-5-2.033700-5-1.949700-6 2.278400-5 125 6 2 585 + 2.961800-6-2.996800-6-3.421100-7 125 6 2 586 + 0.000000+0 5.500000+7 1 0 21 6 125 6 2 587 + 1.695000-2 5.094000-4 3.688400-5 2.424000-5-3.896000-6 3.858600-7 125 6 2 588 + 5.828400-9 7.296600-3 5.623700-3 1.385500-3 8.232200-4 6.284600-4 125 6 2 589 + 6.852700-5-2.003400-4 4.473100-5-2.985100-5-2.713900-6 3.050200-5 125 6 2 590 + 3.993300-6-4.512500-6-4.922600-7 125 6 2 591 + 0.000000+0 6.000000+7 1 0 21 6 125 6 2 592 + 1.556000-2 4.907800-4 4.511000-5 2.371800-5-2.988500-6 7.108900-7 125 6 2 593 + 1.304100-8 6.596200-3 4.835700-3 1.198100-3 8.462600-4 5.945300-4 125 6 2 594 + 6.406700-5-7.352600-5 5.388200-5-4.108300-5-3.544200-6 3.907100-5 125 6 2 595 + 5.184500-6-6.465700-6-6.764400-7 125 6 2 596 + 0.000000+0 6.500000+7 1 0 21 6 125 6 2 597 + 1.442900-2 4.879900-4 7.166100-5 2.554400-5-1.628400-7 1.207400-6 125 6 2 598 + 2.661300-8 6.004500-3 4.214600-3 1.019500-3 8.655300-4 5.571000-4 125 6 2 599 + 5.910900-5 7.271800-5 6.067200-5-5.370800-5-4.394700-6 4.814600-5 125 6 2 600 + 6.499100-6-8.877600-6-8.932300-7 125 6 2 601 + 0.000000+0 7.000000+7 1 0 21 6 125 6 2 602 + 1.348500-2 4.994600-4 1.127300-4 3.180300-5 5.111000-6 1.908500-6 125 6 2 603 + 5.010300-8 5.501900-3 3.720200-3 8.609000-4 8.797700-4 5.180600-4 125 6 2 604 + 5.393400-5 2.305900-4 6.570700-5-6.727700-5-5.214700-6 5.729900-5 125 6 2 605 + 7.876200-6-1.174200-5-1.138600-6 125 6 2 606 + 0.000000+0 7.500000+7 1 0 21 6 125 6 2 607 + 1.268300-2 5.214600-4 1.615700-4 4.374800-5 1.301200-5 2.826800-6 125 6 2 608 + 8.778500-8 5.071700-3 3.320700-3 7.306400-4 8.882600-4 4.789900-4 125 6 2 609 + 4.878400-5 3.913500-4 7.004200-5-8.124000-5-5.954500-6 6.605000-5 125 6 2 610 + 9.231500-6-1.502000-5-1.406000-6 125 6 2 611 + 0.000000+0 8.000000+7 1 0 21 6 125 6 2 612 + 1.199700-2 5.493100-4 2.102600-4 6.122000-5 2.321100-5 3.943800-6 125 6 2 613 + 1.440700-7 4.699600-3 2.991200-3 6.337300-4 8.911400-4 4.412400-4 125 6 2 614 + 4.386800-5 5.456300-4 7.474800-5-9.497000-5-6.570700-6 7.389600-5 125 6 2 615 + 1.046200-5-1.863700-5-1.686000-6 125 6 2 616 + 0.000000+0 8.500000+7 1 0 21 6 125 6 2 617 + 1.141000-2 5.782900-4 2.513800-4 8.236500-5 3.481100-5 5.200000-6 125 6 2 618 + 2.225200-7 4.373200-3 2.711500-3 5.723000-4 8.895300-4 4.060300-4 125 6 2 619 + 3.936400-5 6.840000-4 8.046400-5-1.077900-4-7.030300-6 8.034700-5 125 6 2 620 + 1.145600-5-2.247500-5-1.966900-6 125 6 2 621 + 0.000000+0 9.000000+7 1 0 21 6 125 6 2 622 + 1.090700-2 6.039800-4 2.792300-4 1.038000-4 4.641400-5 6.491900-6 125 6 2 623 + 3.243700-7 4.081800-3 2.466000-3 5.457300-4 8.853300-4 3.745200-4 125 6 2 624 + 3.542500-5 7.976200-4 8.707000-5-1.190000-4-7.314000-6 8.495100-5 125 6 2 625 + 1.210900-5-2.637800-5-2.234900-6 125 6 2 626 + 0.000000+0 9.500000+7 1 0 21 6 125 6 2 627 + 1.046900-2 6.223700-4 2.905000-4 1.212400-4 5.632200-5 7.675300-6 125 6 2 628 + 4.468700-7 3.816300-3 2.242600-3 5.510200-4 8.808500-4 3.478600-4 125 6 2 629 + 3.218500-5 8.789600-4 9.362400-5-1.279100-4-7.417300-6 8.733000-5 125 6 2 630 + 1.233600-5-3.014200-5-2.474300-6 125 6 2 631 + 0.000000+0 1.000000+8 1 0 21 6 125 6 2 632 + 1.007300-2 6.296800-4 2.843200-4 1.304400-4 6.282400-5 8.578200-6 125 6 2 633 + 5.814700-7 3.569300-3 2.032700-3 5.832600-4 8.784200-4 3.272500-4 125 6 2 634 + 2.977100-5 9.224200-4 9.856800-5-1.338300-4-7.348600-6 8.720600-5 125 6 2 635 + 1.208500-5-3.351900-5-2.668700-6 125 6 2 636 + 0.000000+0 1.100000+8 1 0 21 6 125 6 2 637 + 9.327700-3 5.985100-4 2.267100-4 1.135700-4 6.070200-5 8.864300-6 125 6 2 638 + 8.171200-7 3.107200-3 1.632900-3 7.031700-4 8.871200-4 3.093500-4 125 6 2 639 + 2.800000-5 8.848100-4 9.686100-5-1.342600-4-6.767600-6 7.899000-5 125 6 2 640 + 1.016800-5-3.789800-5-2.853200-6 125 6 2 641 + 0.000000+0 1.200000+8 1 0 21 6 125 6 2 642 + 8.587200-3 4.994700-4 1.340100-4 5.457500-5 3.785700-5 6.528600-6 125 6 2 643 + 8.327500-7 2.659400-3 1.247500-3 8.521700-4 9.208800-4 3.320700-4 125 6 2 644 + 3.183500-5 6.849900-4 7.374800-5-1.161000-4-5.685200-6 6.128200-5 125 6 2 645 + 6.862100-6-3.663800-5-2.642300-6 125 6 2 646 + 0.000000+0 1.300000+8 1 0 21 6 125 6 2 647 + 8.002800-3 3.667700-4 4.729400-5-7.285600-6 7.595700-6 2.559800-6 125 6 2 648 + 4.599200-7 2.204000-3 8.829400-4 9.832300-4 9.835900-4 4.082100-4 125 6 2 649 + 4.515100-5 3.495900-4 3.528300-5-7.667200-5-3.957500-6 3.957000-5 125 6 2 650 + 3.451800-6-2.616200-5-1.852200-6 125 6 2 651 + 0.000000+0 1.400000+8 1 0 21 6 125 6 2 652 + 8.012900-3 3.019100-4 3.066000-5-5.307700-6-1.458800-6 6.215000-7 125 6 2 653 + 3.520700-9 1.730700-3 5.577300-4 1.060000-3 1.079100-3 5.510900-4 125 6 2 654 + 7.677100-5-8.305300-5 1.640700-6-1.535200-5-9.084600-7 2.810500-5 125 6 2 655 + 2.128200-6-2.205500-6-1.594900-7 125 6 2 656 + 0.000000+0 1.500000+8 1 0 21 6 125 6 2 657 + 9.283100-3 4.540700-4 2.309700-4 1.386200-4 4.412100-5 4.820100-6 125 6 2 658 + 1.252100-6 1.239400-3 2.931600-4 1.053000-3 1.209400-3 7.707700-4 125 6 2 659 + 1.445700-4-5.740300-4-2.038600-7 6.595800-5 4.754900-6 6.237400-5 125 6 2 660 + 7.335900-6 4.016600-5 3.133500-6 125 6 2 661 + 0.000000+0 0.000000+0 0 0 0 0 125 6 099999 + 0.000000+0 0.000000+0 0 0 0 0 125 0 0 0 + 0.000000+0 0.000000+0 0 0 0 0 0 0 0 0 + 1.001000+3 9.991700-1 -1 0 0 2 125 1451 1 + 0.000000+0 0.000000+0 0 0 0 6 125 1451 2 + 9.986200-1 1.500000+8 1 0 10010 7 125 1451 3 + 0.000000+0 0.000000+0 0 0 32 2 125 1451 4 + 1-H - 1 LANL EVAL-FEB98 G.HALE 125 1451 5 + CH99 DIST-DEC06 REV1- 20111222 125 1451 6 +----ENDF/B-VII.1 MATERIAL 125 REVISION 1 125 1451 7 +-----INCIDENT PROTON DATA 125 1451 8 +------ENDF-6 FORMAT 125 1451 9 + 125 1451 10 + **************************************************************** 125 1451 11 + 125 1451 12 + ENDF/B-VI MOD 2 Evaluation, February 1998, G. M. Hale (LANL) 125 1451 13 + 125 1451 14 + Includes p + H1 elastic MT = 2 125 1451 15 + 125 1451 16 + p-p elastic cross sections calculated for Ep between 0 and 125 1451 17 + 150 MeV from an R-matrix analysis of p-p cross-section and 125 1451 18 + polarization data in this energy range. The maximum nuclear 125 1451 19 + partial wave allowed in the fit is l=6, and the resulting 125 1451 20 + chi-squared per degree of freedom is 1.8. 125 1451 21 + 125 1451 22 + **************************************************************** 125 1451 23 + 125 1451 24 + ENDF/B-VI MOD 1 Evaluation, October 1987, D. Dodder (LANL) 125 1451 25 + 125 1451 26 + Completely replaced by MOD 2 evaluation. 125 1451 27 + 125 1451 28 +**************************************************************** 125 1451 29 + 125 1451 30 +REFERENCES 125 1451 31 + 125 1451 32 +[Ch99] M.B. Chadwick, P G. Young, G. M. Hale, et al., Los Alamos 125 1451 33 + National Laboratory report, LA-UR-99-1222 (1999) 125 1451 34 + 125 1451 35 + ************************ C O N T E N T S ************************ 125 1451 36 + 1 451 39 1 125 1451 37 + 6 2 661 1 125 1451 38 + 0.000000+0 0.000000+0 0 0 0 0 125 1 099999 + 0.000000+0 0.000000+0 0 0 0 0 125 0 0 0 + 1.001000+3 9.991700-1 0 2 1 0 125 6 2 1 + 1.001000+3 9.966200-1 0 5 1 2 125 6 2 2 + 2 2 125 6 2 3 + 1.000000+3 1.000000+0 1.500000+8 1.000000+0 125 6 2 4 + 5.000000-1 0.000000+0 1 0 1 131 125 6 2 5 + 131 2 125 6 2 6 + 0.000000+0 1.000000+3 1 0 21 6 125 6 2 7 + 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 125 6 2 8 + 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 125 6 2 9 + 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 125 6 2 10 + 0.000000+0 0.000000+0 0.000000+0 125 6 2 11 + 0.000000+0 2.000000+4 1 0 21 6 125 6 2 12 + 4.913300-5-1.84640-12 2.43950-19-1.66800-20-1.91330-20 2.71050-20 125 6 2 13 +-1.08420-21 3.193000-2 2.456600-5 1.704500-7-1.529200-6-6.45090-10 125 6 2 14 + 3.04170-10 3.86880-13 1.08180-13-1.76570-18-1.88320-18-3.02160-22 125 6 2 15 +-9.32390-22-2.57440-27 4.68080-26 125 6 2 16 + 0.000000+0 3.000000+4 1 0 21 6 125 6 2 17 + 4.418500-4-2.09530-11 5.34870-18 6.67200-20-1.53060-19 2.37490-19 125 6 2 18 +-1.04080-19 7.818000-2 2.209200-4-4.153400-7-4.533300-6-2.019900-9 125 6 2 19 + 2.105000-9 2.30990-12-5.05480-13-2.16370-17-5.13870-18-1.03320-20 125 6 2 20 +-6.98120-21 5.52570-25 6.90790-25 125 6 2 21 + 0.000000+0 4.000000+4 1 0 21 6 125 6 2 22 + 1.583100-3-7.77440-11 3.92240-17 1.06750-18-2.04090-19 5.16290-19 125 6 2 23 +-5.55110-19 1.281600-1 7.915500-4-2.014600-6-8.482500-6-3.543000-9 125 6 2 24 + 6.195500-9 6.48990-12-3.85640-12-9.24840-17 1.36020-17-6.83790-20 125 6 2 25 +-1.15620-20 5.93050-24 2.71580-24 125 6 2 26 + 0.000000+0 5.000000+4 1 0 21 6 125 6 2 27 + 3.720100-3-1.58880-10 1.72890-16 0.000000+0-8.16340-19 2.06510-18 125 6 2 28 +-9.02060-19 1.757100-1 1.860100-3-4.550400-6-1.285800-5-4.525500-9 125 6 2 29 + 1.282000-8 1.27540-11-1.23330-11-2.48950-16 1.10820-16-2.49180-19 125 6 2 30 + 3.45850-20 2.93390-23 2.84400-24 125 6 2 31 + 0.000000+0 6.000000+4 1 0 21 6 125 6 2 32 + 6.924900-3-1.95810-10 5.60510-16 3.20260-18-2.44900-18 5.78240-19 125 6 2 33 +-3.46940-18 2.188300-1 3.462400-3-7.848000-6-1.735500-5-4.437500-9 125 6 2 34 + 2.194300-8 2.02820-11-2.82140-11-5.15680-16 3.74110-16-6.55910-19 125 6 2 35 + 2.55100-19 9.75220-23-1.54020-23 125 6 2 36 + 0.000000+0 7.000000+4 1 0 21 6 125 6 2 37 + 1.116000-2-6.54170-11 1.45790-15-5.33760-18 4.89800-18-1.48690-18 125 6 2 38 +-1.94290-18 2.571600-1 5.579900-3-1.173700-5-2.180700-5-2.908600-9 125 6 2 39 + 3.341300-8 2.78660-11-5.35300-11-9.01190-16 9.17370-16-1.40460-18 125 6 2 40 + 8.73660-19 2.53160-22-9.47000-23 125 6 2 41 + 0.000000+0 8.000000+4 1 0 21 6 125 6 2 42 + 1.633300-2 4.00010-10 3.25590-15 1.49450-17-1.30610-17 7.93020-18 125 6 2 43 +-3.33070-18 2.909700-1 8.166700-3-1.607600-5-2.612700-5 3.10910-10 125 6 2 44 + 4.704800-8 3.40740-11-9.00520-11-1.39500-15 1.87620-15-2.60560-18 125 6 2 45 + 2.23420-18 5.54600-22-3.19800-22 125 6 2 46 + 0.000000+0 9.000000+4 1 0 21 6 125 6 2 47 + 2.233400-2 1.401300-9 6.57960-15 1.92150-17-9.79610-18 1.38780-17 125 6 2 48 +-4.44090-18 3.207200-1 1.116700-2-2.075300-5-3.027200-5 5.385400-9 125 6 2 49 + 6.265800-8 3.73560-11-1.39320-10-1.96670-15 3.40390-15-4.34440-18 125 6 2 50 + 4.81650-18 1.07280-21-8.35550-22 125 6 2 51 + 0.000000+0 1.000000+5 1 0 21 6 125 6 2 52 + 2.904800-2 3.162300-9 1.22030-14 1.28100-17 9.79610-18 7.59970-18 125 6 2 53 + 1.11020-18 3.469000-1 1.452400-2-2.568100-5-3.422300-5 1.242000-8 125 6 2 54 + 8.007000-8 3.61070-11-2.02670-10-2.56540-15 5.66890-15-6.66280-18 125 6 2 55 + 9.24960-18 1.88570-21-1.86660-21 125 6 2 56 + 0.000000+0 1.200000+5 1 0 21 6 125 6 2 57 + 4.419000-2 9.925000-9 3.46740-14 4.27010-17-3.26540-17 4.29550-17 125 6 2 58 +-2.22040-17 3.903000-1 2.209500-2-3.604200-5-4.153800-5 3.260200-8 125 6 2 59 + 1.196700-7 1.35160-11-3.76170-10-3.54050-15 1.31440-14-1.28750-17 125 6 2 60 + 2.69880-17 4.68960-21-6.89990-21 125 6 2 61 + 0.000000+0 1.400000+5 1 0 21 6 125 6 2 62 + 6.101500-2 2.266700-8 8.20210-14 4.27010-17-6.53070-17 1.91650-17 125 6 2 63 + 7.77160-18 4.241900-1 3.050700-2-4.678300-5-4.810900-5 6.108100-8 125 6 2 64 + 1.647800-7-4.65860-11-6.18360-10-3.52110-15 2.58680-14-2.00110-17 125 6 2 65 + 6.38150-17 9.35290-21-1.96390-20 125 6 2 66 + 0.000000+0 1.600000+5 1 0 21 6 125 6 2 67 + 7.893800-2 4.336800-8 1.70370-13 8.54020-18-3.91840-17 5.02240-17 125 6 2 68 +-4.88500-17 4.507600-1 3.946900-2-5.768000-5-5.401400-5 9.784700-8 125 6 2 69 + 2.145300-7-1.56710-10-9.35450-10-1.41210-15 4.55340-14-2.50240-17 125 6 2 70 + 1.31000-16 1.55990-20-4.70250-20 125 6 2 71 + 0.000000+0 1.800000+5 1 0 21 6 125 6 2 72 + 9.751600-2 7.393400-8 3.20860-13 1.36640-16-6.53070-17 5.02240-17 125 6 2 73 +-1.55430-17 4.716500-1 4.875800-2-6.859100-5-5.933500-5 1.427700-7 125 6 2 74 + 2.682600-7-3.28890-10-1.332400-9 4.15900-15 7.39350-14-2.25480-17 125 6 2 75 + 2.42870-16 2.19000-20-9.95140-20 125 6 2 76 + 0.000000+0 2.000000+5 1 0 21 6 125 6 2 77 + 1.164100-1 1.161500-7 5.61300-13 1.19560-16-2.61230-17 5.28680-17 125 6 2 78 + 2.22040-18 4.880200-1 5.820500-2-7.942900-5-6.414600-5 1.956700-7 125 6 2 79 + 3.254200-7-5.74610-10-1.813500-9 1.48250-14 1.12940-13-4.43920-18 125 6 2 80 + 4.16980-16 2.47640-20-1.91900-19 125 6 2 81 + 0.000000+0 2.200000+5 1 0 21 6 125 6 2 82 + 1.353600-1 1.716400-7 9.24810-13 2.04960-16-1.04490-16 6.87280-17 125 6 2 83 +-5.77320-17 5.007700-1 6.768200-2-9.013900-5-6.851200-5 2.563400-7 125 6 2 84 + 3.855700-7-9.04880-10-2.382100-9 3.24620-14 1.64490-13 4.06590-17 125 6 2 85 + 6.74160-16 1.79090-20-3.44160-19 125 6 2 86 + 0.000000+0 2.400000+5 1 0 21 6 125 6 2 87 + 1.541900-1 2.419100-7 1.45110-12 2.04960-16-7.83690-17 7.93020-17 125 6 2 88 + 1.77640-17 5.105600-1 7.709300-2-1.006900-4-7.248900-5 3.245600-7 125 6 2 89 + 4.483700-7-1.330200-9-3.041100-9 5.91790-14 2.30550-13 1.27730-16 125 6 2 90 + 1.03870-15-8.67460-21-5.82330-19 125 6 2 91 + 0.000000+0 2.600000+5 1 0 21 6 125 6 2 92 + 1.727200-1 3.282600-7 2.18750-12 2.56210-16-2.08980-16 3.70070-17 125 6 2 93 + 9.77000-17 5.179200-1 8.636200-2-1.110500-4-7.612400-5 4.001100-7 125 6 2 94 + 5.135000-7-1.860700-9-3.793200-9 9.73020-14 3.13170-13 2.75740-16 125 6 2 95 + 1.53820-15-6.97620-20-9.39390-19 125 6 2 96 + 0.000000+0 2.800000+5 1 0 21 6 125 6 2 97 + 1.908700-1 4.318600-7 3.18720-12 2.73290-16-1.04490-16 1.05740-16 125 6 2 98 +-1.19900-16 5.232500-1 9.543500-2-1.212100-4-7.945700-5 4.827900-7 125 6 2 99 + 5.807300-7-2.505900-9-4.640500-9 1.49360-13 4.14400-13 5.08070-16 125 6 2 100 + 2.20390-15-1.86030-19-1.45620-18 125 6 2 101 + 0.000000+0 3.000000+5 1 0 21 6 125 6 2 102 + 2.085400-1 5.537300-7 4.51160-12 1.53720-16-2.08980-16 2.45840-16 125 6 2 103 +-6.21720-17 5.268800-1 1.042700-1-1.311700-4-8.252100-5 5.724000-7 125 6 2 104 + 6.498400-7-3.275300-9-5.585000-9 2.18090-13 5.36330-13 8.52790-16 125 6 2 105 + 3.07080-15-3.85270-19-2.18220-18 125 6 2 106 + 0.000000+0 3.200000+5 1 0 21 6 125 6 2 107 + 2.256700-1 6.947200-7 6.22890-12 2.73290-16-1.04490-16 1.53320-16 125 6 2 108 +-4.88500-17 5.290800-1 1.128300-1-1.409300-4-8.534600-5 6.687400-7 125 6 2 109 + 7.206400-7-4.177800-9-6.628200-9 3.06410-13 6.81080-13 1.34300-15 125 6 2 110 + 4.17710-15-7.03720-19-3.17690-18 125 6 2 111 + 0.000000+0 3.400000+5 1 0 21 6 125 6 2 112 + 2.422100-1 8.555600-7 8.41510-12 2.73290-16-1.04490-16 1.55960-16 125 6 2 113 + 0.000000+0 5.300700-1 1.211000-1-1.504800-4-8.795600-5 7.716300-7 125 6 2 114 + 7.929900-7-5.221900-9-7.771800-9 4.17410-13 8.50790-13 2.01730-15 125 6 2 115 + 5.56500-15-1.18740-18-4.51000-18 125 6 2 116 + 0.000000+0 3.600000+5 1 0 21 6 125 6 2 117 + 2.581300-1 1.036800-6 1.11540-11 2.39120-16 5.22460-17 5.55110-17 125 6 2 118 + 6.66130-17 5.300100-1 1.290700-1-1.598300-4-9.037200-5 8.809000-7 125 6 2 119 + 8.667400-7-6.416200-9-9.017100-9 5.54370-13 1.04760-12 2.91980-15 125 6 2 120 + 7.28030-15-1.89380-18-6.26310-18 125 6 2 121 + 0.000000+0 3.800000+5 1 0 21 6 125 6 2 122 + 2.734200-1 1.239000-6 1.45360-11 2.39120-16 0.000000+0 8.19450-17 125 6 2 123 +-1.06580-16 5.290700-1 1.367100-1-1.689700-4-9.261400-5 9.963900-7 125 6 2 124 + 9.417800-7-7.768500-9-1.036500-8 7.20730-13 1.27370-12 4.10060-15 125 6 2 125 + 9.37250-15-2.89300-18-8.53000-18 125 6 2 126 + 0.000000+0 4.000000+5 1 0 21 6 125 6 2 127 + 2.880500-1 1.462500-6 1.86610-11 2.73290-16-5.22460-17 3.17210-17 125 6 2 128 + 1.77640-17 5.273600-1 1.440300-1-1.779200-4-9.469800-5 1.117900-6 125 6 2 129 + 1.018000-6-9.286900-9-1.181700-8 9.20070-13 1.53130-12 5.61630-15 125 6 2 130 + 1.18950-14-4.26980-18-1.14180-17 125 6 2 131 + 0.000000+0 4.200000+5 1 0 21 6 125 6 2 132 + 3.020300-1 1.707500-6 2.36350-11 6.14890-16-3.13470-16 1.16310-16 125 6 2 133 +-1.33230-16 5.250000-1 1.510100-1-1.866800-4-9.663600-5 1.245400-6 125 6 2 134 + 1.095300-6-1.097900-8-1.337400-8 1.15620-12 1.82250-12 7.52980-15 125 6 2 135 + 1.49050-14-6.12500-18-1.50500-17 125 6 2 136 + 0.000000+0 4.400000+5 1 0 21 6 125 6 2 137 + 3.153500-1 1.974200-6 2.95740-11 4.78250-16-1.04490-16-3.17210-17 125 6 2 138 +-5.32910-17 5.220800-1 1.576700-1-1.952500-4-9.844300-5 1.378600-6 125 6 2 139 + 1.173600-6-1.285200-8-1.503600-8 1.43290-12 2.14960-12 9.91080-15 125 6 2 140 + 1.84620-14-8.57750-18-1.95610-17 125 6 2 141 + 0.000000+0 4.600000+5 1 0 21 6 125 6 2 142 + 3.280100-1 2.262600-6 3.65990-11 5.80730-16 5.22460-17 1.00450-16 125 6 2 143 +-8.88180-17 5.186800-1 1.640100-1-2.036400-4-1.001300-4 1.517500-6 125 6 2 144 + 1.252900-6-1.491200-8-1.680500-8 1.75430-12 2.51480-12 1.28360-14 125 6 2 145 + 2.26330-14-1.17660-17-2.51070-17 125 6 2 146 + 0.000000+0 4.800000+5 1 0 21 6 125 6 2 147 + 3.400400-1 2.572800-6 4.48400-11 7.51540-16-2.08980-16 1.42740-16 125 6 2 148 +-6.21720-17 5.148600-1 1.700200-1-2.118500-4-1.017000-4 1.661900-6 125 6 2 149 + 1.333000-6-1.716800-8-1.868200-8 2.12450-12 2.92030-12 1.63900-14 125 6 2 150 + 2.74850-14-1.58500-17-3.18570-17 125 6 2 151 + 0.000000+0 5.000000+5 1 0 21 6 125 6 2 152 + 3.514300-1 2.904700-6 5.44370-11 9.90660-16-1.56740-16 1.79750-16 125 6 2 153 +-5.32910-17 5.106900-1 1.757100-1-2.198900-4-1.031700-4 1.811700-6 125 6 2 154 + 1.413900-6-1.962600-8-2.066500-8 2.54790-12 3.36820-12 2.06650-14 125 6 2 155 + 3.30910-14-2.10150-17-4.00020-17 125 6 2 156 + 0.000000+0 5.500000+5 1 0 21 6 125 6 2 157 + 3.772300-1 3.828200-6 8.53340-11 1.77640-15-3.13470-16 3.70070-17 125 6 2 158 +-1.95400-16 4.990600-1 1.886100-1-2.392600-4-1.064500-4 2.209100-6 125 6 2 159 + 1.619400-6-2.669600-8-2.610000-8 3.86840-12 4.68880-12 3.51750-14 125 6 2 160 + 5.09130-14-4.00960-17-6.78810-17 125 6 2 161 + 0.000000+0 6.000000+5 1 0 21 6 125 6 2 162 + 3.994200-1 4.882800-6 1.28130-10 2.93780-15-3.65720-16 1.42740-16 125 6 2 163 +-5.32910-17 4.861900-1 1.997100-1-2.576500-4-1.092200-4 2.637800-6 125 6 2 164 + 1.828800-6-3.516800-8-3.222000-8 5.62190-12 6.32380-12 5.66110-14 125 6 2 165 + 7.52310-14-7.13900-17-1.09660-16 125 6 2 166 + 0.000000+0 6.500000+5 1 0 21 6 125 6 2 167 + 4.183000-1 6.063400-6 1.85610-10 4.95330-15-3.65720-16 1.63890-16 125 6 2 168 +-1.24340-16 4.725700-1 2.091500-1-2.751400-4-1.115800-4 3.096500-6 125 6 2 169 + 2.041600-6-4.513300-8-3.902900-8 7.88570-12 8.30810-12 8.70880-14 125 6 2 170 + 1.07500-13-1.20270-16-1.70070-16 125 6 2 171 + 0.000000+0 7.000000+5 1 0 21 6 125 6 2 172 + 4.341500-1 7.364000-6 2.60880-10 7.51540-15-8.35930-16 8.98750-17 125 6 2 173 +-2.13160-16 4.585500-1 2.170700-1-2.917700-4-1.135800-4 3.583700-6 125 6 2 174 + 2.257300-6-5.668200-8-4.653300-8 1.07410-11 1.06770-11 1.29080-13 125 6 2 175 + 1.49310-13-1.93640-16-2.54800-16 125 6 2 176 + 0.000000+0 7.500000+5 1 0 21 6 125 6 2 177 + 4.472900-1 8.777800-6 3.57320-10 1.18880-14-7.31440-16-1.05740-17 125 6 2 178 +-2.48690-16 4.443900-1 2.236400-1-3.076100-4-1.152600-4 4.098300-6 125 6 2 179 + 2.475500-6-6.989600-8-5.473500-8 1.42740-11 1.34640-11 1.85430-13 125 6 2 180 + 2.02440-13-3.00160-16-3.70640-16 125 6 2 181 + 0.000000+0 8.000000+5 1 0 21 6 125 6 2 182 + 4.580100-1 1.029800-5 4.78630-10 1.76950-14-6.79200-16 0.000000+0 125 6 2 183 +-8.88180-17 4.302900-1 2.290000-1-3.227100-4-1.166800-4 4.639200-6 125 6 2 184 + 2.695900-6-8.485700-8-6.363600-8 1.85720-11 1.67040-11 2.59380-13 125 6 2 185 + 2.68790-13-4.50510-16-5.25560-16 125 6 2 186 + 0.000000+0 8.500000+5 1 0 21 6 125 6 2 187 + 4.665600-1 1.191700-5 6.28750-10 2.61670-14-6.26950-16-1.26880-16 125 6 2 188 +-2.30930-16 4.163800-1 2.332800-1-3.371100-4-1.178600-4 5.205400-6 125 6 2 189 + 2.918100-6-1.016400-7-7.323800-8 2.37290-11 2.04330-11 3.54580-13 125 6 2 190 + 3.50420-13-6.57640-16-7.28790-16 125 6 2 191 + 0.000000+0 9.000000+5 1 0 21 6 125 6 2 192 + 4.732200-1 1.362900-5 8.11950-10 3.79180-14-8.35930-16-2.22040-16 125 6 2 193 +-3.19740-16 4.027700-1 2.366000-1-3.508400-4-1.188300-4 5.795800-6 125 6 2 194 + 3.142000-6-1.203200-7-8.354300-8 2.98390-11 2.46830-11 4.75120-13 125 6 2 195 + 4.49570-13-9.37060-16-9.90940-16 125 6 2 196 + 0.000000+0 9.500000+5 1 0 21 6 125 6 2 197 + 4.781900-1 1.542600-5 1.032700-9 5.33590-14-1.04490-15-2.53770-16 125 6 2 198 +-3.55270-16 3.895200-1 2.390900-1-3.639600-4-1.196100-4 6.409800-6 125 6 2 199 + 3.367300-6-1.409600-7-9.454900-8 3.70030-11 2.94900-11 6.25520-13 125 6 2 200 + 5.68610-13-1.30710-15-1.32410-15 125 6 2 201 + 0.000000+0 1.000000+6 1 0 21 6 125 6 2 202 + 4.817000-1 1.730200-5 1.295900-9 7.45390-14-8.88180-16-1.79750-16 125 6 2 203 +-4.26330-16 3.766900-1 2.408400-1-3.764800-4-1.202300-4 7.046400-6 125 6 2 204 + 3.593800-6-1.636300-7-1.062600-7 4.53200-11 3.48860-11 8.10760-13 125 6 2 205 + 7.10070-13-1.78920-15-1.74190-15 125 6 2 206 + 0.000000+0 1.100000+6 1 0 21 6 125 6 2 207 + 4.850300-1 2.126700-5 1.970000-9 1.37330-13-1.14940-15-5.23390-16 125 6 2 208 +-3.10860-16 3.523800-1 2.425100-1-3.998700-4-1.210100-4 8.384600-6 125 6 2 209 + 4.050000-6-2.153100-7-1.317700-7 6.58360-11 4.75810-11 1.30810-12 125 6 2 210 + 1.07120-12-3.19290-15-2.89440-15 125 6 2 211 + 0.000000+0 1.200000+6 1 0 21 6 125 6 2 212 + 4.844700-1 2.547900-5 2.877900-9 2.39400-13-1.61960-15-6.60850-16 125 6 2 213 +-5.06260-16 3.299500-1 2.422300-1-4.212400-4-1.213000-4 9.805100-6 125 6 2 214 + 4.509400-6-2.758400-7-1.600800-7 9.22470-11 6.30330-11 2.01680-12 125 6 2 215 + 1.55620-12-5.39410-15-4.59270-15 125 6 2 216 + 0.000000+0 1.300000+6 1 0 21 6 125 6 2 217 + 4.810100-1 2.990100-5 4.067300-9 3.98660-13-1.67190-15-6.92570-16 125 6 2 218 +-7.10540-16 3.093700-1 2.405000-1-4.407600-4-1.211600-4 1.130300-5 125 6 2 219 + 4.971100-6-3.456800-7-1.911700-7 1.25450-10 8.15000-11 2.99480-12 125 6 2 220 + 2.19100-12-8.70900-15-7.01210-15 125 6 2 221 + 0.000000+0 1.400000+6 1 0 21 6 125 6 2 222 + 4.754300-1 3.450000-5 5.589800-9 6.37850-13-1.98530-15-7.98300-16 125 6 2 223 +-5.86200-16 2.905500-1 2.377000-1-4.585800-4-1.206600-4 1.287400-5 125 6 2 224 + 5.434500-6-4.252200-7-2.250100-7 1.66380-10 1.03240-10 4.30850-12 125 6 2 225 + 3.00390-12-1.35350-14-1.03620-14 125 6 2 226 + 0.000000+0 1.500000+6 1 0 21 6 125 6 2 227 + 4.683100-1 3.924900-5 7.500900-9 9.85880-13-2.45560-15-6.60850-16 125 6 2 228 +-7.99360-16 2.733800-1 2.341400-1-4.748500-4-1.198500-4 1.451400-5 125 6 2 229 + 5.899000-6-5.148600-7-2.615800-7 2.15980-10 1.28490-10 6.03360-12 125 6 2 230 + 4.02560-12-2.03620-14-1.48900-14 125 6 2 231 + 0.000000+0 1.600000+6 1 0 21 6 125 6 2 232 + 4.601100-1 4.412400-5 9.859600-9 1.47990-12-2.40330-15-9.88630-16 125 6 2 233 +-9.23710-16 2.577100-1 2.300400-1-4.896700-4-1.187700-4 1.621900-5 125 6 2 234 + 6.364200-6-6.149500-7-3.008500-7 2.75230-10 1.57510-10 8.25510-12 125 6 2 235 + 5.28920-12-2.97840-14-2.08840-14 125 6 2 236 + 0.000000+0 1.700000+6 1 0 21 6 125 6 2 237 + 4.511800-1 4.910600-5 1.272800-8 2.16390-12-2.66450-15-1.02560-15 125 6 2 238 +-9.23710-16 2.434100-1 2.255700-1-5.031500-4-1.174600-4 1.798700-5 125 6 2 239 + 6.829500-6-7.258400-7-3.428000-7 3.45140-10 1.90530-10 1.10680-11 125 6 2 240 + 6.83050-12-4.25110-14-2.86740-14 125 6 2 241 + 0.000000+0 1.800000+6 1 0 21 6 125 6 2 242 + 4.417900-1 5.417900-5 1.617300-8 3.09410-12-3.34370-15-1.10490-15 125 6 2 243 +-1.15460-15 2.303500-1 2.208800-1-5.153800-4-1.159300-4 1.981400-5 125 6 2 244 + 7.294800-6-8.478300-7-3.873900-7 4.26720-10 2.27770-10 1.45760-11 125 6 2 245 + 8.68730-12-5.93860-14-3.86370-14 125 6 2 246 + 0.000000+0 1.900000+6 1 0 21 6 125 6 2 247 + 4.321400-1 5.932800-5 2.026300-8 4.33330-12-3.44820-15-1.34280-15 125 6 2 248 +-1.30560-15 2.184100-1 2.160500-1-5.264300-4-1.142200-4 2.169800-5 125 6 2 249 + 7.759600-6-9.812100-7-4.345800-7 5.21000-10 2.69470-10 1.88950-11 125 6 2 250 + 1.09000-11-8.13880-14-5.12000-14 125 6 2 251 + 0.000000+0 2.000000+6 1 0 21 6 125 6 2 252 + 4.223800-1 6.454300-5 2.506900-8 5.95980-12-4.02290-15-1.56490-15 125 6 2 253 +-1.31450-15 2.074700-1 2.111600-1-5.364000-4-1.123300-4 2.363500-5 125 6 2 254 + 8.223700-6-1.126300-6-4.843600-7 6.29030-10 3.15840-10 2.41500-11 125 6 2 255 + 1.35120-11-1.09660-13-6.68420-14 125 6 2 256 + 0.000000+0 2.100000+6 1 0 21 6 125 6 2 257 + 4.126200-1 6.981300-5 3.066700-8 8.06340-12-4.49310-15-1.65480-15 125 6 2 258 +-1.45660-15 1.974300-1 2.062800-1-5.453200-4-1.102900-4 2.562400-5 125 6 2 259 + 8.687000-6-1.283300-6-5.366700-7 7.51860-10 3.67100-10 3.04780-11 125 6 2 260 + 1.65670-11-1.45500-13-8.60970-14 125 6 2 261 + 0.000000+0 2.200000+6 1 0 21 6 125 6 2 262 + 4.029400-1 7.512900-5 3.713400-8 1.07490-11-5.22460-15-1.77640-15 125 6 2 263 +-1.68750-15 1.882000-1 2.014400-1-5.532800-4-1.081200-4 2.766200-5 125 6 2 264 + 9.149100-6-1.452400-6-5.914800-7 8.90560-10 4.23450-10 3.80270-11 125 6 2 265 + 2.01140-11-1.90410-13-1.09560-13 125 6 2 266 + 0.000000+0 2.300000+6 1 0 21 6 125 6 2 267 + 3.934100-1 8.048300-5 4.454900-8 1.41360-11-6.00830-15-1.83980-15 125 6 2 268 +-1.63420-15 1.797000-1 1.966700-1-5.603100-4-1.058100-4 2.974700-5 125 6 2 269 + 9.610100-6-1.634000-6-6.487500-7 1.046200-9 4.85080-10 4.69550-11 125 6 2 270 + 2.42020-11-2.46070-13-1.37870-13 125 6 2 271 + 0.000000+0 2.400000+6 1 0 21 6 125 6 2 272 + 3.840700-1 8.587000-5 5.299600-8 1.83610-11-7.00090-15-2.25220-15 125 6 2 273 +-1.42110-15 1.718600-1 1.919900-1-5.664800-4-1.033900-4 3.187800-5 125 6 2 274 + 1.007000-5-1.828200-6-7.084500-7 1.219800-9 5.52210-10 5.74330-11 125 6 2 275 + 2.88840-11-3.14390-13-1.71770-13 125 6 2 276 + 0.000000+0 2.500000+6 1 0 21 6 125 6 2 277 + 3.749500-1 9.128200-5 6.255900-8 2.35830-11-8.30710-15-2.31560-15 125 6 2 278 +-1.92730-15 1.646100-1 1.874300-1-5.718100-4-1.008700-4 3.405100-5 125 6 2 279 + 1.052800-5-2.035200-6-7.705300-7 1.412600-9 6.25010-10 6.96430-11 125 6 2 280 + 3.42120-11-3.97480-13-2.12020-13 125 6 2 281 + 0.000000+0 2.600000+6 1 0 21 6 125 6 2 282 + 3.660700-1 9.671600-5 7.332300-8 2.99740-11-1.00310-14-2.31030-15 125 6 2 283 +-1.97180-15 1.578900-1 1.829900-1-5.763700-4-9.824400-5 3.626600-5 125 6 2 284 + 1.098400-5-2.255200-6-8.349500-7 1.625500-9 7.03660-10 8.37790-11 125 6 2 285 + 4.02460-11-4.97730-13-2.59480-13 125 6 2 286 + 0.000000+0 2.700000+6 1 0 21 6 125 6 2 287 + 3.574400-1 1.021700-4 8.537900-8 3.77340-11-1.19640-14-2.40550-15 125 6 2 288 +-2.12270-15 1.516600-1 1.786700-1-5.801800-4-9.552800-5 3.852100-5 125 6 2 289 + 1.143900-5-2.488400-6-9.016700-7 1.859600-9 7.88340-10 1.00050-10 125 6 2 290 + 4.70420-11-6.17760-13-3.15080-13 125 6 2 291 + 0.000000+0 2.800000+6 1 0 21 6 125 6 2 292 + 3.490800-1 1.076300-4 9.881500-8 4.70810-11-1.43680-14-2.72800-15 125 6 2 293 +-2.31810-15 1.458700-1 1.744800-1-5.832800-4-9.272900-5 4.081400-5 125 6 2 294 + 1.189200-5-2.735000-6-9.706400-7 2.116100-9 8.79210-10 1.18670-10 125 6 2 295 + 5.46620-11-7.60460-13-3.79810-13 125 6 2 296 + 0.000000+0 2.900000+6 1 0 21 6 125 6 2 297 + 3.409800-1 1.131000-4 1.137200-7 5.82610-11-1.76590-14-2.90240-15 125 6 2 298 +-2.46910-15 1.404700-1 1.704300-1-5.857000-4-8.985100-5 4.314300-5 125 6 2 299 + 1.234300-5-2.995000-6-1.041800-6 2.395900-9 9.76450-10 1.39870-10 125 6 2 300 + 6.31700-11-9.29030-13-4.54760-13 125 6 2 301 + 0.000000+0 3.000000+6 1 0 21 6 125 6 2 302 + 3.331500-1 1.185800-4 1.302000-7 7.15430-11-2.17860-14-2.94470-15 125 6 2 303 +-2.39810-15 1.354300-1 1.665100-1-5.874800-4-8.690000-5 4.550700-5 125 6 2 304 + 1.279200-5-3.268700-6-1.115200-6 2.700200-9 1.080200-9 1.63900-10 125 6 2 305 + 7.26310-11-1.12700-12-5.41070-13 125 6 2 306 + 0.000000+0 3.200000+6 1 0 21 6 125 6 2 307 + 3.182600-1 1.295300-4 1.682300-7 1.05630-10-3.30720-14-3.27780-15 125 6 2 308 +-2.68230-15 1.263200-1 1.590600-1-5.892100-4-8.080100-5 5.033600-5 125 6 2 309 + 1.368400-5-3.857500-6-1.268300-6 3.386400-9 1.307800-9 2.21480-10 125 6 2 310 + 9.46850-11-1.62650-12-7.52850-13 125 6 2 311 + 0.000000+0 3.400000+6 1 0 21 6 125 6 2 312 + 3.043700-1 1.404700-4 2.136700-7 1.52070-10-5.02600-14-3.44170-15 125 6 2 313 +-2.86880-15 1.183000-1 1.521000-1-5.886800-4-7.446500-5 5.528900-5 125 6 2 314 + 1.456700-5-4.502500-6-1.429500-6 4.183100-9 1.563200-9 2.93620-10 125 6 2 315 + 1.21390-10-2.29370-12-1.02610-12 125 6 2 316 + 0.000000+0 3.600000+6 1 0 21 6 125 6 2 317 + 2.914200-1 1.513800-4 2.673200-7 2.14110-10-7.60700-14-3.87260-15 125 6 2 318 +-3.14420-15 1.112100-1 1.456200-1-5.860800-4-6.792400-5 6.035800-5 125 6 2 319 + 1.544200-5-5.204300-6-1.598600-6 5.098400-9 1.847500-9 3.82740-10 125 6 2 320 + 1.53340-10-3.16910-12-1.37330-12 125 6 2 321 + 0.000000+0 3.800000+6 1 0 21 6 125 6 2 322 + 2.793400-1 1.622300-4 3.299600-7 2.95540-10-1.13740-13-4.12900-15 125 6 2 323 +-3.34840-15 1.049100-1 1.395700-1-5.815700-4-6.120200-5 6.553200-5 125 6 2 324 + 1.630700-5-5.963800-6-1.775100-6 6.140500-9 2.161400-9 4.91480-10 125 6 2 325 + 1.91180-10-4.29980-12-1.80820-12 125 6 2 326 + 0.000000+0 4.000000+6 1 0 21 6 125 6 2 327 + 2.680800-1 1.730200-4 4.024000-7 4.00760-10-1.68230-13-4.41450-15 125 6 2 328 +-3.58820-15 9.926300-2 1.339300-1-5.753000-4-5.432100-5 7.080300-5 125 6 2 329 + 1.716400-5-6.781500-6-1.958700-6 7.317100-9 2.505900-9 6.22680-10 125 6 2 330 + 2.35570-10-5.73980-12-2.34660-12 125 6 2 331 + 0.000000+0 4.200000+6 1 0 21 6 125 6 2 332 + 2.575700-1 1.837300-4 4.854600-7 5.34810-10-2.44460-13-4.76340-15 125 6 2 333 +-3.85910-15 9.419200-2 1.286600-1-5.674100-4-4.730200-5 7.616500-5 125 6 2 334 + 1.801000-5-7.657900-6-2.149100-6 8.635800-9 2.881600-9 7.79440-10 125 6 2 335 + 2.87200-10-7.55070-12-3.00540-12 125 6 2 336 + 0.000000+0 4.400000+6 1 0 21 6 125 6 2 337 + 2.477400-1 1.943500-4 5.799300-7 7.03430-10-3.50990-13-4.96430-15 125 6 2 338 +-4.00570-15 8.961300-2 1.237400-1-5.580100-4-4.016100-5 8.161000-5 125 6 2 339 + 1.884800-5-8.593400-6-2.345800-6 1.010400-8 3.289300-9 9.65050-10 125 6 2 340 + 3.46800-10-9.80210-12-3.80390-12 125 6 2 341 + 0.000000+0 4.600000+6 1 0 21 6 125 6 2 342 + 2.385500-1 2.048600-4 6.866200-7 9.13120-10-4.96280-13-5.24710-15 125 6 2 343 +-4.27660-15 8.546000-2 1.191300-1-5.472300-4-3.291400-5 8.713100-5 125 6 2 344 + 1.967500-5-9.588300-6-2.548600-6 1.172900-8 3.729500-9 1.183000-9 125 6 2 345 + 4.15130-10-1.25720-11-4.76260-12 125 6 2 346 + 0.000000+0 4.800000+6 1 0 21 6 125 6 2 347 + 2.299300-1 2.152700-4 8.063300-7 1.171100-9-6.92180-13-5.49300-15 125 6 2 348 +-4.50310-15 8.167800-2 1.148100-1-5.351500-4-2.557400-5 9.272200-5 125 6 2 349 + 2.049400-5-1.064300-5-2.757100-6 1.351600-8 4.202600-9 1.437200-9 125 6 2 350 + 4.92970-10-1.59490-11-5.90440-12 125 6 2 351 + 0.000000+0 5.000000+6 1 0 21 6 125 6 2 352 + 2.218400-1 2.255500-4 9.398500-7 1.485500-9-9.52860-13-5.76790-15 125 6 2 353 +-4.75620-15 7.822300-2 1.107500-1-5.218700-4-1.815300-5 9.837800-5 125 6 2 354 + 2.130200-5-1.175700-5-2.971000-6 1.547400-8 4.709100-9 1.731400-9 125 6 2 355 + 5.81140-10-2.00300-11-7.25390-12 125 6 2 356 + 0.000000+0 5.500000+6 1 0 21 6 125 6 2 357 + 2.036800-1 2.506900-4 1.339100-6 2.579500-9-2.00990-12-6.38910-15 125 6 2 358 +-5.37350-15 7.076500-2 1.016400-1-4.839800-4 6.785600-7 1.127600-4 125 6 2 359 + 2.328100-5-1.480500-5-3.526800-6 2.114700-8 6.122400-9 2.670900-9 125 6 2 360 + 8.52360-10-3.40450-11-1.17160-11 125 6 2 361 + 0.000000+0 6.000000+6 1 0 21 6 125 6 2 362 + 1.880000-1 2.749300-4 1.841200-6 4.250100-9-3.96850-12-6.69830-15 125 6 2 363 +-5.89310-15 6.464300-2 9.377000-2-4.402900-4 1.979600-5 1.274300-4 125 6 2 364 + 2.520100-5-1.822600-5-4.108800-6 2.800100-8 7.747500-9 3.960400-9 125 6 2 365 + 1.207400-9-5.51590-11-1.81250-11 125 6 2 366 + 0.000000+0 6.500000+6 1 0 21 6 125 6 2 367 + 1.743700-1 2.982000-4 2.457000-6 6.701600-9-7.40420-12-6.62700-15 125 6 2 368 +-6.50150-15 5.953200-2 8.691700-2-3.917700-4 3.908100-5 1.423200-4 125 6 2 369 + 2.706200-5-2.201600-5-4.711800-6 3.610100-8 9.583000-9 5.681500-9 125 6 2 370 + 1.661100-9-8.58490-11-2.70430-11 125 6 2 371 + 0.000000+0 7.000000+6 1 0 21 6 125 6 2 372 + 1.624100-1 3.204500-4 3.196500-6 1.018000-8-1.31590-11-5.92910-15 125 6 2 373 +-7.01660-15 5.520300-2 8.090400-2-3.392600-4 5.843600-5 1.573700-4 125 6 2 374 + 2.886500-5-2.617200-5-5.331300-6 4.550000-8 1.162500-8 7.924700-9 125 6 2 375 + 2.229400-9-1.29140-10-3.91260-11 125 6 2 376 + 0.000000+0 7.500000+6 1 0 21 6 125 6 2 377 + 1.518500-1 3.416500-4 4.068500-6 1.497600-8-2.24210-11-3.84880-15 125 6 2 378 +-7.55400-15 5.149200-2 7.559100-2-2.834600-4 7.778000-5 1.725200-4 125 6 2 379 + 3.061300-5-3.068500-5-5.962500-6 5.623100-8 1.386600-8 1.079000-8 125 6 2 380 + 2.929000-9-1.88630-10-5.51300-11 125 6 2 381 + 0.000000+0 8.000000+6 1 0 21 6 125 6 2 382 + 1.424800-1 3.618000-4 5.080700-6 2.142500-8-3.68260-11 4.89030-16 125 6 2 383 +-8.11350-15 4.827400-2 7.086600-2-2.249700-4 9.704900-5 1.877300-4 125 6 2 384 + 3.230600-5-3.554800-5-6.601300-6 6.830800-8 1.629600-8 1.438500-8 125 6 2 385 + 3.777400-9-2.68610-10-7.59120-11 125 6 2 386 + 0.000000+0 8.500000+6 1 0 21 6 125 6 2 387 + 1.341000-1 3.808900-4 6.239300-6 2.991000-8-5.85610-11 8.48790-15 125 6 2 388 +-8.65530-15 4.545700-2 6.664000-2-1.643400-4 1.161900-4 2.029600-4 125 6 2 389 + 3.394800-5-4.075000-5-7.243600-6 8.172700-8 1.890300-8 1.882900-8 125 6 2 390 + 4.793000-9-3.74030-10-1.02440-10 125 6 2 391 + 0.000000+0 9.000000+6 1 0 21 6 125 6 2 392 + 1.265700-1 3.989300-4 7.549200-6 4.086000-8-9.04980-11 2.24640-14 125 6 2 393 +-9.21260-15 4.297000-2 6.283900-2-1.020100-4 1.351500-4 2.181600-4 125 6 2 394 + 3.553800-5-4.628000-5-7.885700-6 9.646400-8 2.167100-8 2.424800-8 125 6 2 395 + 5.994700-9-5.10630-10-1.35780-10 125 6 2 396 + 0.000000+0 9.500000+6 1 0 21 6 125 6 2 397 + 1.197800-1 4.159600-4 9.014100-6 5.475300-8-1.36330-10 4.55670-14 125 6 2 398 +-9.74550-15 4.075800-2 5.940300-2-3.839600-5 1.539000-4 2.333100-4 125 6 2 399 + 3.708000-5-5.212700-5-8.524200-6 1.124800-7 2.458400-8 3.077600-8 125 6 2 400 + 7.402300-9-6.84940-10-1.77130-10 125 6 2 401 + 0.000000+0 1.000000+7 1 0 21 6 125 6 2 402 + 1.136100-1 4.319900-4 1.063600-5 7.211100-8-2.00710-10 8.25620-14 125 6 2 403 +-1.02610-14 3.877700-2 5.628400-2 2.614500-5 1.724000-4 2.483700-4 125 6 2 404 + 3.857400-5-5.827800-5-9.155700-6 1.297100-7 2.762200-8 3.855800-8 125 6 2 405 + 9.036100-9-9.04350-10-2.27810-10 125 6 2 406 + 0.000000+0 1.050000+7 1 0 21 6 125 6 2 407 + 1.080000-1 4.470700-4 1.241500-5 9.350000-8-2.89440-10 1.40100-13 125 6 2 408 +-1.08270-14 3.699300-2 5.344000-2 9.129400-5 1.906300-4 2.633200-4 125 6 2 409 + 4.002300-5-6.471800-5-9.777400-6 1.480600-7 3.076300-8 4.774500-8 125 6 2 410 + 1.091700-8-1.177200-9-2.89220-10 125 6 2 411 + 0.000000+0 1.100000+7 1 0 21 6 125 6 2 412 + 1.028700-1 4.612300-4 1.435200-5 1.195300-7-4.09650-10 2.27440-13 125 6 2 413 +-1.13380-14 3.537600-2 5.083800-2 1.567700-4 2.085800-4 2.781300-4 125 6 2 414 + 4.142900-5-7.143300-5-1.038600-5 1.674500-7 3.398400-8 5.849600-8 125 6 2 415 + 1.306600-8-1.512700-9-3.62940-10 125 6 2 416 + 0.000000+0 1.150000+7 1 0 21 6 125 6 2 417 + 9.817000-2 4.745300-4 1.644300-5 1.508500-7-5.69960-10 3.57180-13 125 6 2 418 +-1.17790-14 3.390400-2 4.844700-2 2.223300-4 2.262100-4 2.927800-4 125 6 2 419 + 4.279200-5-7.840800-5-1.098000-5 1.877500-7 3.726000-8 7.097900-8 125 6 2 420 + 1.550500-8-1.921100-9-4.50620-10 125 6 2 421 + 0.000000+0 1.200000+7 1 0 21 6 125 6 2 422 + 9.384100-2 4.870000-4 1.868600-5 1.881300-7-7.80690-10 5.46320-13 125 6 2 423 +-1.22150-14 3.255800-2 4.624500-2 2.877400-4 2.435200-4 3.072500-4 125 6 2 424 + 4.411500-5-8.562800-5-1.155700-5 2.088300-7 4.056400-8 8.536900-8 125 6 2 425 + 1.825700-8-2.413800-9-5.54080-10 125 6 2 426 + 0.000000+0 1.250000+7 1 0 21 6 125 6 2 427 + 8.984600-2 4.987000-4 2.107500-5 2.321000-7-1.054100-9 8.17240-13 125 6 2 428 +-1.25790-14 3.132200-2 4.420800-2 3.528000-4 2.605000-4 3.215200-4 125 6 2 429 + 4.540000-5-9.307600-5-1.211400-5 2.305100-7 4.386800-8 1.018500-7 125 6 2 430 + 2.134400-8-3.003100-9-6.75240-10 125 6 2 431 + 0.000000+0 1.300000+7 1 0 21 6 125 6 2 432 + 8.614800-2 5.096800-4 2.360500-5 2.834900-7-1.404400-9 1.19930-12 125 6 2 433 +-1.28210-14 3.018200-2 4.232100-2 4.173400-4 2.771300-4 3.355800-4 125 6 2 434 + 4.664600-5-1.007300-4-1.265000-5 2.526300-7 4.714300-8 1.206000-7 125 6 2 435 + 2.479000-8-3.702500-9-8.16150-10 125 6 2 436 + 0.000000+0 1.350000+7 1 0 21 6 125 6 2 437 + 8.271600-2 5.199700-4 2.626900-5 3.430600-7-1.848500-9 1.73030-12 125 6 2 438 +-1.29010-14 2.912800-2 4.056700-2 4.812000-4 2.934200-4 3.494100-4 125 6 2 439 + 4.785700-5-1.085900-4-1.316200-5 2.750000-7 5.035700-8 1.418300-7 125 6 2 440 + 2.861700-8-4.526800-9-9.79010-10 125 6 2 441 + 0.000000+0 1.400000+7 1 0 21 6 125 6 2 442 + 7.952400-2 5.296300-4 2.905800-5 4.115900-7-2.405400-9 2.45880-12 125 6 2 443 +-1.27590-14 2.815000-2 3.893200-2 5.442300-4 3.093500-4 3.630000-4 125 6 2 444 + 4.903200-5-1.166200-4-1.365000-5 2.974000-7 5.347800-8 1.657300-7 125 6 2 445 + 3.284900-8-5.491700-9-1.166100-9 125 6 2 446 + 0.000000+0 1.450000+7 1 0 21 6 125 6 2 447 + 7.654700-2 5.387000-4 3.196400-5 4.898600-7-3.097100-9 3.44570-12 125 6 2 448 +-1.21990-14 2.723900-2 3.740600-2 6.063200-4 3.249200-4 3.763400-4 125 6 2 449 + 5.017400-5-1.248100-4-1.411200-5 3.196000-7 5.647400-8 1.925100-7 125 6 2 450 + 3.751000-8-6.614300-9-1.379900-9 125 6 2 451 + 0.000000+0 1.500000+7 1 0 21 6 125 6 2 452 + 7.376500-2 5.472300-4 3.497700-5 5.786600-7-3.948600-9 4.76760-12 125 6 2 453 +-1.12420-14 2.638900-2 3.597700-2 6.673400-4 3.401400-4 3.894100-4 125 6 2 454 + 5.128300-5-1.331500-4-1.454600-5 3.413700-7 5.931100-8 2.223900-7 125 6 2 455 + 4.262400-8-7.913000-9-1.623000-9 125 6 2 456 + 0.000000+0 1.550000+7 1 0 21 6 125 6 2 457 + 7.116000-2 5.552400-4 3.808500-5 6.787700-7-4.987900-9 6.51950-12 125 6 2 458 +-9.55900-15 2.559400-2 3.463700-2 7.272100-4 3.550000-4 4.022200-4 125 6 2 459 + 5.236100-5-1.416100-4-1.495200-5 3.624400-7 6.195300-8 2.555700-7 125 6 2 460 + 4.821600-8-9.407300-9-1.898100-9 125 6 2 461 + 0.000000+0 1.600000+7 1 0 21 6 125 6 2 462 + 6.871600-2 5.627900-4 4.127800-5 7.909600-7-6.246500-9 8.81820-12 125 6 2 463 +-6.95670-15 2.484800-2 3.337700-2 7.858200-4 3.695000-4 4.147400-4 125 6 2 464 + 5.340700-5-1.501800-4-1.532800-5 3.825400-7 6.436600-8 2.922900-7 125 6 2 465 + 5.431000-8-1.111800-8-2.208000-9 125 6 2 466 + 0.000000+0 1.700000+7 1 0 21 6 125 6 2 467 + 6.425700-2 5.766300-4 4.786900-5 1.054600-6-9.564600-9 1.56570-11 125 6 2 468 + 2.33150-15 2.348500-2 3.107300-2 8.990100-4 3.974200-4 4.389400-4 125 6 2 469 + 5.541300-5-1.675700-4-1.598700-5 4.186600-7 6.835900-8 3.772300-7 125 6 2 470 + 6.810300-8-1.528000-8-2.944100-9 125 6 2 471 + 0.000000+0 1.800000+7 1 0 21 6 125 6 2 472 + 6.029100-2 5.889700-4 5.464900-5 1.375300-6-1.422800-8 2.68180-11 125 6 2 473 + 2.04840-14 2.227100-2 2.901700-2 1.006400-3 4.239300-4 4.619500-4 125 6 2 474 + 5.730600-5-1.851800-4-1.651800-5 4.472700-7 7.099600-8 4.790700-7 125 6 2 475 + 8.420300-8-2.059400-8-3.856500-9 125 6 2 476 + 0.000000+0 1.900000+7 1 0 21 6 125 6 2 477 + 5.674400-2 6.000100-4 6.151100-5 1.758200-6-2.062300-8 4.44920-11 125 6 2 478 + 5.36060-14 2.118200-2 2.717200-2 1.107600-3 4.490500-4 4.837600-4 125 6 2 479 + 5.909100-5-2.028800-4-1.691400-5 4.657000-7 7.197800-8 5.997300-7 125 6 2 480 + 1.028100-7-2.727400-8-4.972300-9 125 6 2 481 + 0.000000+0 2.000000+7 1 0 21 6 125 6 2 482 + 5.355400-2 6.099300-4 6.834600-5 2.207600-6-2.920400-8 7.17370-11 125 6 2 483 + 1.11330-13 2.019700-2 2.550700-2 1.202400-3 4.728200-4 5.043400-4 125 6 2 484 + 6.077300-5-2.205200-4-1.717200-5 4.711400-7 7.100400-8 7.411400-7 125 6 2 485 + 1.241200-7-3.556100-8-6.320400-9 125 6 2 486 + 0.000000+0 2.100000+7 1 0 21 6 125 6 2 487 + 5.067100-2 6.188200-4 7.504600-5 2.726700-6-4.049100-8 1.12720-10 125 6 2 488 + 2.08310-13 1.930300-2 2.399600-2 1.290500-3 4.952600-4 5.236800-4 125 6 2 489 + 6.235600-5-2.379800-4-1.728600-5 4.606000-7 6.777300-8 9.053000-7 125 6 2 490 + 1.483500-7-4.571500-8-7.931700-9 125 6 2 491 + 0.000000+0 2.200000+7 1 0 21 6 125 6 2 492 + 4.805400-2 6.267700-4 8.150800-5 3.317800-6-5.506900-8 1.73040-10 125 6 2 493 + 3.66330-13 1.848600-2 2.262000-2 1.371900-3 5.164200-4 5.418000-4 125 6 2 494 + 6.384200-5-2.551300-4-1.725500-5 4.309900-7 6.198700-8 1.094200-6 125 6 2 495 + 1.756900-7-5.802000-8-9.838700-9 125 6 2 496 + 0.000000+0 2.300000+7 1 0 21 6 125 6 2 497 + 4.566900-2 6.338400-4 8.763000-5 3.981600-6-7.358700-8 2.60050-10 125 6 2 498 + 6.17080-13 1.773600-2 2.136100-2 1.446600-3 5.363500-4 5.586800-4 125 6 2 499 + 6.523500-5-2.718500-4-1.707600-5 3.791000-7 5.335200-8 1.309800-6 125 6 2 500 + 2.063400-7-7.278300-8-1.207500-8 125 6 2 501 + 0.000000+0 2.400000+7 1 0 21 6 125 6 2 502 + 4.348800-2 6.400500-4 9.332200-5 4.717500-6-9.674900-8 3.83260-10 125 6 2 503 + 1.00570-12 1.704400-2 2.020600-2 1.514600-3 5.550900-4 5.743500-4 125 6 2 504 + 6.653500-5-2.880200-4-1.674600-5 3.016600-7 4.158100-8 1.554100-6 125 6 2 505 + 2.405100-7-9.033200-8-1.467700-8 125 6 2 506 + 0.000000+0 2.500000+7 1 0 21 6 125 6 2 507 + 4.148500-2 6.454000-4 9.850000-5 5.523600-6-1.253100-7 5.54840-10 125 6 2 508 + 1.59570-12 1.640400-2 1.914200-2 1.575900-3 5.726900-4 5.888200-4 125 6 2 509 + 6.774500-5-3.035300-4-1.626500-5 1.953300-7 2.639400-8 1.829100-6 125 6 2 510 + 2.784000-7-1.110200-7-1.768200-8 125 6 2 511 + 0.000000+0 2.600000+7 1 0 21 6 125 6 2 512 + 3.964200-2 6.499100-4 1.030900-4 6.396400-6-1.600500-7 7.90080-10 125 6 2 513 + 2.47400-12 1.581000-2 1.815900-2 1.630800-3 5.892100-4 6.021300-4 125 6 2 514 + 6.886600-5-3.182900-4-1.563100-5 5.676600-8 7.525500-9 2.136800-6 125 6 2 515 + 3.202100-7-1.352100-7-2.112700-8 125 6 2 516 + 0.000000+0 2.700000+7 1 0 21 6 125 6 2 517 + 3.794000-2 6.535400-4 1.070300-4 7.330900-6-2.018000-7 1.108000-9 125 6 2 518 + 3.75910-12 1.525500-2 1.724900-2 1.679200-3 6.047000-4 6.142800-4 125 6 2 519 + 6.989900-5-3.321900-4-1.484400-5-1.174100-7-1.528200-8 2.478900-6 125 6 2 520 + 3.661300-7-1.633100-7-2.505200-8 125 6 2 521 + 0.000000+0 2.800000+7 1 0 21 6 125 6 2 522 + 3.636500-2 6.563000-4 1.102800-4 8.320800-6-2.513700-7 1.532000-9 125 6 2 523 + 5.60890-12 1.473700-2 1.640300-2 1.721500-3 6.192100-4 6.253100-4 125 6 2 524 + 7.084500-5-3.451600-4-1.390500-5-3.305500-7-4.227200-8 2.857400-6 125 6 2 525 + 4.163700-7-1.957100-7-2.949700-8 125 6 2 526 + 0.000000+0 2.900000+7 1 0 21 6 125 6 2 527 + 3.490300-2 6.581600-4 1.127900-4 9.358400-6-3.095700-7 2.090500-9 125 6 2 528 + 8.23200-12 1.425100-2 1.561600-2 1.757700-3 6.327900-4 6.352600-4 125 6 2 529 + 7.170500-5-3.571000-4-1.281500-5-5.859700-7-7.367200-8 3.273900-6 125 6 2 530 + 4.711200-7-2.328600-7-3.450400-8 125 6 2 531 + 0.000000+0 3.000000+7 1 0 21 6 125 6 2 532 + 3.354500-2 6.591200-4 1.145400-4 1.043500-5-3.771800-7 2.817600-9 125 6 2 533 + 1.19000-11 1.379400-2 1.488200-2 1.788300-3 6.455200-4 6.441600-4 125 6 2 534 + 7.247900-5-3.679500-4-1.157600-5-8.869500-7-1.096900-7 3.730300-6 125 6 2 535 + 5.305700-7-2.752100-7-4.011400-8 125 6 2 536 + 0.000000+0 3.200000+7 1 0 21 6 125 6 2 537 + 3.109900-2 6.583100-4 1.157400-4 1.266500-5-5.434300-7 4.947800-9 125 6 2 538 + 2.38660-11 1.295600-2 1.355400-2 1.832900-3 6.686100-4 6.589200-4 125 6 2 539 + 7.377600-5-3.861000-4-8.665000-6-1.638200-6-1.963600-7 4.768800-6 125 6 2 540 + 6.643400-7-3.773400-7-5.331200-8 125 6 2 541 + 0.000000+0 3.400000+7 1 0 21 6 125 6 2 542 + 2.896300-2 6.539300-4 1.139400-4 1.492400-5-7.548200-7 8.341800-9 125 6 2 543 + 4.55810-11 1.220500-2 1.238600-2 1.857400-3 6.889300-4 6.699100-4 125 6 2 544 + 7.474400-5-3.991700-4-5.207600-6-2.608700-6-3.036200-7 5.984400-6 125 6 2 545 + 8.191500-7-5.060200-7-6.943500-8 125 6 2 546 + 0.000000+0 3.600000+7 1 0 21 6 125 6 2 547 + 2.708800-2 6.462100-4 1.093800-4 1.711900-5-1.013900-6 1.356300-8 125 6 2 548 + 8.33800-11 1.152600-2 1.135400-2 1.863900-3 7.069400-4 6.774100-4 125 6 2 549 + 7.539200-5-4.068400-4-1.255200-6-3.820600-6-4.324700-7 7.387000-6 125 6 2 550 + 9.964500-7-6.653200-7-8.882400-8 125 6 2 551 + 0.000000+0 3.800000+7 1 0 21 6 125 6 2 552 + 2.543400-2 6.355200-4 1.024900-4 1.915900-5-1.320300-6 2.134900-8 125 6 2 553 + 1.46780-10 1.091000-2 1.043700-2 1.854200-3 7.230500-4 6.817300-4 125 6 2 554 + 7.573100-5-4.088800-4 3.125600-6-5.294000-6-5.836000-7 8.984400-6 125 6 2 555 + 1.197600-6-8.594800-7-1.118100-7 125 6 2 556 + 0.000000+0 4.000000+7 1 0 21 6 125 6 2 557 + 2.396900-2 6.223500-4 9.380500-5 2.096200-5-1.669700-6 3.263400-8 125 6 2 558 + 2.49610-10 1.034700-2 9.619500-3 1.830600-3 7.376400-4 6.831600-4 125 6 2 559 + 7.577600-5-4.051600-4 7.854200-6-7.045700-6-7.573200-7 1.078200-5 125 6 2 560 + 1.423700-6-1.092800-6-1.387300-7 125 6 2 561 + 0.000000+0 4.200000+7 1 0 21 6 125 6 2 562 + 2.266700-2 6.073200-4 8.394500-5 2.246000-5-2.053500-6 4.857700-8 125 6 2 563 + 4.11450-10 9.830900-3 8.888200-3 1.794900-3 7.510500-4 6.819900-4 125 6 2 564 + 7.554200-5-3.956300-4 1.283900-5-9.089600-6-9.535700-7 1.278300-5 125 6 2 565 + 1.676000-6-1.369700-6-1.698800-7 125 6 2 566 + 0.000000+0 4.400000+7 1 0 21 6 125 6 2 567 + 2.150700-2 5.910900-4 7.359600-5 2.360900-5-2.457700-6 7.057600-8 125 6 2 568 + 6.59230-10 9.355200-3 8.232100-3 1.749000-3 7.635500-4 6.785000-4 125 6 2 569 + 7.504600-5-3.803200-4 1.798100-5-1.143600-5-1.171900-6 1.498700-5 125 6 2 570 + 1.955400-6-1.694400-6-2.055600-7 125 6 2 571 + 0.000000+0 4.600000+7 1 0 21 6 125 6 2 572 + 2.047000-2 5.743500-4 6.345600-5 2.438900-5-2.862700-6 1.002800-7 125 6 2 573 + 1.029200-9 8.915600-3 7.642200-3 1.694600-3 7.753800-4 6.729300-4 125 6 2 574 + 7.430800-5-3.593500-4 2.317800-5-1.409100-5-1.411600-6 1.739300-5 125 6 2 575 + 2.262500-6-2.071200-6-2.460100-7 125 6 2 576 + 0.000000+0 4.800000+7 1 0 21 6 125 6 2 577 + 1.954100-2 5.577800-4 5.419800-5 2.480900-5-3.243400-6 1.396000-7 125 6 2 578 + 1.568900-9 8.508500-3 7.110700-3 1.633300-3 7.866800-4 6.655500-4 125 6 2 579 + 7.334600-5-3.328600-4 2.832900-5-1.705900-5-1.671400-6 1.999500-5 125 6 2 580 + 2.597900-6-2.504100-6-2.914700-7 125 6 2 581 + 0.000000+0 5.000000+7 1 0 21 6 125 6 2 582 + 1.870500-2 5.420000-4 4.644100-5 2.490600-5-3.569000-6 1.906800-7 125 6 2 583 + 2.339500-9 8.130500-3 6.631200-3 1.566600-3 7.975700-4 6.565600-4 125 6 2 584 + 7.218300-5-3.010900-4 3.334000-5-2.033700-5-1.949700-6 2.278400-5 125 6 2 585 + 2.961800-6-2.996800-6-3.421100-7 125 6 2 586 + 0.000000+0 5.500000+7 1 0 21 6 125 6 2 587 + 1.695000-2 5.094000-4 3.688400-5 2.424000-5-3.896000-6 3.858600-7 125 6 2 588 + 5.828400-9 7.296600-3 5.623700-3 1.385500-3 8.232200-4 6.284600-4 125 6 2 589 + 6.852700-5-2.003400-4 4.473100-5-2.985100-5-2.713900-6 3.050200-5 125 6 2 590 + 3.993300-6-4.512500-6-4.922600-7 125 6 2 591 + 0.000000+0 6.000000+7 1 0 21 6 125 6 2 592 + 1.556000-2 4.907800-4 4.511000-5 2.371800-5-2.988500-6 7.108900-7 125 6 2 593 + 1.304100-8 6.596200-3 4.835700-3 1.198100-3 8.462600-4 5.945300-4 125 6 2 594 + 6.406700-5-7.352600-5 5.388200-5-4.108300-5-3.544200-6 3.907100-5 125 6 2 595 + 5.184500-6-6.465700-6-6.764400-7 125 6 2 596 + 0.000000+0 6.500000+7 1 0 21 6 125 6 2 597 + 1.442900-2 4.879900-4 7.166100-5 2.554400-5-1.628400-7 1.207400-6 125 6 2 598 + 2.661300-8 6.004500-3 4.214600-3 1.019500-3 8.655300-4 5.571000-4 125 6 2 599 + 5.910900-5 7.271800-5 6.067200-5-5.370800-5-4.394700-6 4.814600-5 125 6 2 600 + 6.499100-6-8.877600-6-8.932300-7 125 6 2 601 + 0.000000+0 7.000000+7 1 0 21 6 125 6 2 602 + 1.348500-2 4.994600-4 1.127300-4 3.180300-5 5.111000-6 1.908500-6 125 6 2 603 + 5.010300-8 5.501900-3 3.720200-3 8.609000-4 8.797700-4 5.180600-4 125 6 2 604 + 5.393400-5 2.305900-4 6.570700-5-6.727700-5-5.214700-6 5.729900-5 125 6 2 605 + 7.876200-6-1.174200-5-1.138600-6 125 6 2 606 + 0.000000+0 7.500000+7 1 0 21 6 125 6 2 607 + 1.268300-2 5.214600-4 1.615700-4 4.374800-5 1.301200-5 2.826800-6 125 6 2 608 + 8.778500-8 5.071700-3 3.320700-3 7.306400-4 8.882600-4 4.789900-4 125 6 2 609 + 4.878400-5 3.913500-4 7.004200-5-8.124000-5-5.954500-6 6.605000-5 125 6 2 610 + 9.231500-6-1.502000-5-1.406000-6 125 6 2 611 + 0.000000+0 8.000000+7 1 0 21 6 125 6 2 612 + 1.199700-2 5.493100-4 2.102600-4 6.122000-5 2.321100-5 3.943800-6 125 6 2 613 + 1.440700-7 4.699600-3 2.991200-3 6.337300-4 8.911400-4 4.412400-4 125 6 2 614 + 4.386800-5 5.456300-4 7.474800-5-9.497000-5-6.570700-6 7.389600-5 125 6 2 615 + 1.046200-5-1.863700-5-1.686000-6 125 6 2 616 + 0.000000+0 8.500000+7 1 0 21 6 125 6 2 617 + 1.141000-2 5.782900-4 2.513800-4 8.236500-5 3.481100-5 5.200000-6 125 6 2 618 + 2.225200-7 4.373200-3 2.711500-3 5.723000-4 8.895300-4 4.060300-4 125 6 2 619 + 3.936400-5 6.840000-4 8.046400-5-1.077900-4-7.030300-6 8.034700-5 125 6 2 620 + 1.145600-5-2.247500-5-1.966900-6 125 6 2 621 + 0.000000+0 9.000000+7 1 0 21 6 125 6 2 622 + 1.090700-2 6.039800-4 2.792300-4 1.038000-4 4.641400-5 6.491900-6 125 6 2 623 + 3.243700-7 4.081800-3 2.466000-3 5.457300-4 8.853300-4 3.745200-4 125 6 2 624 + 3.542500-5 7.976200-4 8.707000-5-1.190000-4-7.314000-6 8.495100-5 125 6 2 625 + 1.210900-5-2.637800-5-2.234900-6 125 6 2 626 + 0.000000+0 9.500000+7 1 0 21 6 125 6 2 627 + 1.046900-2 6.223700-4 2.905000-4 1.212400-4 5.632200-5 7.675300-6 125 6 2 628 + 4.468700-7 3.816300-3 2.242600-3 5.510200-4 8.808500-4 3.478600-4 125 6 2 629 + 3.218500-5 8.789600-4 9.362400-5-1.279100-4-7.417300-6 8.733000-5 125 6 2 630 + 1.233600-5-3.014200-5-2.474300-6 125 6 2 631 + 0.000000+0 1.000000+8 1 0 21 6 125 6 2 632 + 1.007300-2 6.296800-4 2.843200-4 1.304400-4 6.282400-5 8.578200-6 125 6 2 633 + 5.814700-7 3.569300-3 2.032700-3 5.832600-4 8.784200-4 3.272500-4 125 6 2 634 + 2.977100-5 9.224200-4 9.856800-5-1.338300-4-7.348600-6 8.720600-5 125 6 2 635 + 1.208500-5-3.351900-5-2.668700-6 125 6 2 636 + 0.000000+0 1.100000+8 1 0 21 6 125 6 2 637 + 9.327700-3 5.985100-4 2.267100-4 1.135700-4 6.070200-5 8.864300-6 125 6 2 638 + 8.171200-7 3.107200-3 1.632900-3 7.031700-4 8.871200-4 3.093500-4 125 6 2 639 + 2.800000-5 8.848100-4 9.686100-5-1.342600-4-6.767600-6 7.899000-5 125 6 2 640 + 1.016800-5-3.789800-5-2.853200-6 125 6 2 641 + 0.000000+0 1.200000+8 1 0 21 6 125 6 2 642 + 8.587200-3 4.994700-4 1.340100-4 5.457500-5 3.785700-5 6.528600-6 125 6 2 643 + 8.327500-7 2.659400-3 1.247500-3 8.521700-4 9.208800-4 3.320700-4 125 6 2 644 + 3.183500-5 6.849900-4 7.374800-5-1.161000-4-5.685200-6 6.128200-5 125 6 2 645 + 6.862100-6-3.663800-5-2.642300-6 125 6 2 646 + 0.000000+0 1.300000+8 1 0 21 6 125 6 2 647 + 8.002800-3 3.667700-4 4.729400-5-7.285600-6 7.595700-6 2.559800-6 125 6 2 648 + 4.599200-7 2.204000-3 8.829400-4 9.832300-4 9.835900-4 4.082100-4 125 6 2 649 + 4.515100-5 3.495900-4 3.528300-5-7.667200-5-3.957500-6 3.957000-5 125 6 2 650 + 3.451800-6-2.616200-5-1.852200-6 125 6 2 651 + 0.000000+0 1.400000+8 1 0 21 6 125 6 2 652 + 8.012900-3 3.019100-4 3.066000-5-5.307700-6-1.458800-6 6.215000-7 125 6 2 653 + 3.520700-9 1.730700-3 5.577300-4 1.060000-3 1.079100-3 5.510900-4 125 6 2 654 + 7.677100-5-8.305300-5 1.640700-6-1.535200-5-9.084600-7 2.810500-5 125 6 2 655 + 2.128200-6-2.205500-6-1.594900-7 125 6 2 656 + 0.000000+0 1.500000+8 1 0 21 6 125 6 2 657 + 9.283100-3 4.540700-4 2.309700-4 1.386200-4 4.412100-5 4.820100-6 125 6 2 658 + 1.252100-6 1.239400-3 2.931600-4 1.053000-3 1.209400-3 7.707700-4 125 6 2 659 + 1.445700-4-5.740300-4-2.038600-7 6.595800-5 4.754900-6 6.237400-5 125 6 2 660 + 7.335900-6 4.016600-5 3.133500-6 125 6 2 661 + 0.000000+0 0.000000+0 0 0 0 0 125 6 099999 + 0.000000+0 0.000000+0 0 0 0 0 125 0 0 0 + 0.000000+0 0.000000+0 0 0 0 0 0 0 0 0 + 1.001000+3 9.991700-1 -1 0 0 2 125 1451 1 + 0.000000+0 0.000000+0 0 0 0 6 125 1451 2 + 9.986200-1 1.500000+8 6 0 10010 7 125 1451 3 + 0.000000+0 0.000000+0 0 0 32 2 125 1451 4 + 1-H - 1 LANL EVAL-FEB98 G.HALE 125 1451 5 + CH99 DIST-DEC06 REV1- 19990907 125 1451 6 +----ENDF/B-VII MATERIAL 125 REVISION 1 125 1451 7 +-----INCIDENT PROTON DATA 125 1451 8 +------ENDF-6 FORMAT 125 1451 9 + 125 1451 10 + **************************************************************** 125 1451 11 + 125 1451 12 + ENDF/B-VI MOD 2 Evaluation, February 1998, G. M. Hale (LANL) 125 1451 13 + 125 1451 14 + Includes p + H1 elastic MT = 2 125 1451 15 + 125 1451 16 + p-p elastic cross sections calculated for Ep between 0 and 125 1451 17 + 150 MeV from an R-matrix analysis of p-p cross-section and 125 1451 18 + polarization data in this energy range. The maximum nuclear 125 1451 19 + partial wave allowed in the fit is l=6, and the resulting 125 1451 20 + chi-squared per degree of freedom is 1.8. 125 1451 21 + 125 1451 22 + **************************************************************** 125 1451 23 + 125 1451 24 + ENDF/B-VI MOD 1 Evaluation, October 1987, D. Dodder (LANL) 125 1451 25 + 125 1451 26 + Completely replaced by MOD 2 evaluation. 125 1451 27 + 125 1451 28 +**************************************************************** 125 1451 29 + 125 1451 30 +REFERENCES 125 1451 31 + 125 1451 32 +[Ch99] M.B. Chadwick, P G. Young, G. M. Hale, et al., Los Alamos 125 1451 33 + National Laboratory report, LA-UR-99-1222 (1999) 125 1451 34 + 125 1451 35 + ************************ C O N T E N T S ************************ 125 1451 36 + 1 451 39 1 125 1451 37 + 6 2 661 1 125 1451 38 + 0.000000+0 0.000000+0 0 0 0 0 125 1 099999 + 0.000000+0 0.000000+0 0 0 0 0 125 0 0 0 + 1.001000+3 9.991700-1 0 2 1 0 125 6 2 1 + 1.001000+3 9.966200-1 0 5 1 2 125 6 2 2 + 2 2 125 6 2 3 + 1.000000+3 1.000000+0 1.500000+8 1.000000+0 125 6 2 4 + 5.000000-1 0.000000+0 1 0 1 131 125 6 2 5 + 131 2 125 6 2 6 + 0.000000+0 1.000000+3 1 0 21 6 125 6 2 7 + 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 125 6 2 8 + 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 125 6 2 9 + 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 125 6 2 10 + 0.000000+0 0.000000+0 0.000000+0 125 6 2 11 + 0.000000+0 2.000000+4 1 0 21 6 125 6 2 12 + 4.913300-5-1.84640-12 2.43950-19-1.66800-20-1.91330-20 2.71050-20 125 6 2 13 +-1.08420-21 3.193000-2 2.456600-5 1.704500-7-1.529200-6-6.45090-10 125 6 2 14 + 3.04170-10 3.86880-13 1.08180-13-1.76570-18-1.88320-18-3.02160-22 125 6 2 15 +-9.32390-22-2.57440-27 4.68080-26 125 6 2 16 + 0.000000+0 3.000000+4 1 0 21 6 125 6 2 17 + 4.418500-4-2.09530-11 5.34870-18 6.67200-20-1.53060-19 2.37490-19 125 6 2 18 +-1.04080-19 7.818000-2 2.209200-4-4.153400-7-4.533300-6-2.019900-9 125 6 2 19 + 2.105000-9 2.30990-12-5.05480-13-2.16370-17-5.13870-18-1.03320-20 125 6 2 20 +-6.98120-21 5.52570-25 6.90790-25 125 6 2 21 + 0.000000+0 4.000000+4 1 0 21 6 125 6 2 22 + 1.583100-3-7.77440-11 3.92240-17 1.06750-18-2.04090-19 5.16290-19 125 6 2 23 +-5.55110-19 1.281600-1 7.915500-4-2.014600-6-8.482500-6-3.543000-9 125 6 2 24 + 6.195500-9 6.48990-12-3.85640-12-9.24840-17 1.36020-17-6.83790-20 125 6 2 25 +-1.15620-20 5.93050-24 2.71580-24 125 6 2 26 + 0.000000+0 5.000000+4 1 0 21 6 125 6 2 27 + 3.720100-3-1.58880-10 1.72890-16 0.000000+0-8.16340-19 2.06510-18 125 6 2 28 +-9.02060-19 1.757100-1 1.860100-3-4.550400-6-1.285800-5-4.525500-9 125 6 2 29 + 1.282000-8 1.27540-11-1.23330-11-2.48950-16 1.10820-16-2.49180-19 125 6 2 30 + 3.45850-20 2.93390-23 2.84400-24 125 6 2 31 + 0.000000+0 6.000000+4 1 0 21 6 125 6 2 32 + 6.924900-3-1.95810-10 5.60510-16 3.20260-18-2.44900-18 5.78240-19 125 6 2 33 +-3.46940-18 2.188300-1 3.462400-3-7.848000-6-1.735500-5-4.437500-9 125 6 2 34 + 2.194300-8 2.02820-11-2.82140-11-5.15680-16 3.74110-16-6.55910-19 125 6 2 35 + 2.55100-19 9.75220-23-1.54020-23 125 6 2 36 + 0.000000+0 7.000000+4 1 0 21 6 125 6 2 37 + 1.116000-2-6.54170-11 1.45790-15-5.33760-18 4.89800-18-1.48690-18 125 6 2 38 +-1.94290-18 2.571600-1 5.579900-3-1.173700-5-2.180700-5-2.908600-9 125 6 2 39 + 3.341300-8 2.78660-11-5.35300-11-9.01190-16 9.17370-16-1.40460-18 125 6 2 40 + 8.73660-19 2.53160-22-9.47000-23 125 6 2 41 + 0.000000+0 8.000000+4 1 0 21 6 125 6 2 42 + 1.633300-2 4.00010-10 3.25590-15 1.49450-17-1.30610-17 7.93020-18 125 6 2 43 +-3.33070-18 2.909700-1 8.166700-3-1.607600-5-2.612700-5 3.10910-10 125 6 2 44 + 4.704800-8 3.40740-11-9.00520-11-1.39500-15 1.87620-15-2.60560-18 125 6 2 45 + 2.23420-18 5.54600-22-3.19800-22 125 6 2 46 + 0.000000+0 9.000000+4 1 0 21 6 125 6 2 47 + 2.233400-2 1.401300-9 6.57960-15 1.92150-17-9.79610-18 1.38780-17 125 6 2 48 +-4.44090-18 3.207200-1 1.116700-2-2.075300-5-3.027200-5 5.385400-9 125 6 2 49 + 6.265800-8 3.73560-11-1.39320-10-1.96670-15 3.40390-15-4.34440-18 125 6 2 50 + 4.81650-18 1.07280-21-8.35550-22 125 6 2 51 + 0.000000+0 1.000000+5 1 0 21 6 125 6 2 52 + 2.904800-2 3.162300-9 1.22030-14 1.28100-17 9.79610-18 7.59970-18 125 6 2 53 + 1.11020-18 3.469000-1 1.452400-2-2.568100-5-3.422300-5 1.242000-8 125 6 2 54 + 8.007000-8 3.61070-11-2.02670-10-2.56540-15 5.66890-15-6.66280-18 125 6 2 55 + 9.24960-18 1.88570-21-1.86660-21 125 6 2 56 + 0.000000+0 1.200000+5 1 0 21 6 125 6 2 57 + 4.419000-2 9.925000-9 3.46740-14 4.27010-17-3.26540-17 4.29550-17 125 6 2 58 +-2.22040-17 3.903000-1 2.209500-2-3.604200-5-4.153800-5 3.260200-8 125 6 2 59 + 1.196700-7 1.35160-11-3.76170-10-3.54050-15 1.31440-14-1.28750-17 125 6 2 60 + 2.69880-17 4.68960-21-6.89990-21 125 6 2 61 + 0.000000+0 1.400000+5 1 0 21 6 125 6 2 62 + 6.101500-2 2.266700-8 8.20210-14 4.27010-17-6.53070-17 1.91650-17 125 6 2 63 + 7.77160-18 4.241900-1 3.050700-2-4.678300-5-4.810900-5 6.108100-8 125 6 2 64 + 1.647800-7-4.65860-11-6.18360-10-3.52110-15 2.58680-14-2.00110-17 125 6 2 65 + 6.38150-17 9.35290-21-1.96390-20 125 6 2 66 + 0.000000+0 1.600000+5 1 0 21 6 125 6 2 67 + 7.893800-2 4.336800-8 1.70370-13 8.54020-18-3.91840-17 5.02240-17 125 6 2 68 +-4.88500-17 4.507600-1 3.946900-2-5.768000-5-5.401400-5 9.784700-8 125 6 2 69 + 2.145300-7-1.56710-10-9.35450-10-1.41210-15 4.55340-14-2.50240-17 125 6 2 70 + 1.31000-16 1.55990-20-4.70250-20 125 6 2 71 + 0.000000+0 1.800000+5 1 0 21 6 125 6 2 72 + 9.751600-2 7.393400-8 3.20860-13 1.36640-16-6.53070-17 5.02240-17 125 6 2 73 +-1.55430-17 4.716500-1 4.875800-2-6.859100-5-5.933500-5 1.427700-7 125 6 2 74 + 2.682600-7-3.28890-10-1.332400-9 4.15900-15 7.39350-14-2.25480-17 125 6 2 75 + 2.42870-16 2.19000-20-9.95140-20 125 6 2 76 + 0.000000+0 2.000000+5 1 0 21 6 125 6 2 77 + 1.164100-1 1.161500-7 5.61300-13 1.19560-16-2.61230-17 5.28680-17 125 6 2 78 + 2.22040-18 4.880200-1 5.820500-2-7.942900-5-6.414600-5 1.956700-7 125 6 2 79 + 3.254200-7-5.74610-10-1.813500-9 1.48250-14 1.12940-13-4.43920-18 125 6 2 80 + 4.16980-16 2.47640-20-1.91900-19 125 6 2 81 + 0.000000+0 2.200000+5 1 0 21 6 125 6 2 82 + 1.353600-1 1.716400-7 9.24810-13 2.04960-16-1.04490-16 6.87280-17 125 6 2 83 +-5.77320-17 5.007700-1 6.768200-2-9.013900-5-6.851200-5 2.563400-7 125 6 2 84 + 3.855700-7-9.04880-10-2.382100-9 3.24620-14 1.64490-13 4.06590-17 125 6 2 85 + 6.74160-16 1.79090-20-3.44160-19 125 6 2 86 + 0.000000+0 2.400000+5 1 0 21 6 125 6 2 87 + 1.541900-1 2.419100-7 1.45110-12 2.04960-16-7.83690-17 7.93020-17 125 6 2 88 + 1.77640-17 5.105600-1 7.709300-2-1.006900-4-7.248900-5 3.245600-7 125 6 2 89 + 4.483700-7-1.330200-9-3.041100-9 5.91790-14 2.30550-13 1.27730-16 125 6 2 90 + 1.03870-15-8.67460-21-5.82330-19 125 6 2 91 + 0.000000+0 2.600000+5 1 0 21 6 125 6 2 92 + 1.727200-1 3.282600-7 2.18750-12 2.56210-16-2.08980-16 3.70070-17 125 6 2 93 + 9.77000-17 5.179200-1 8.636200-2-1.110500-4-7.612400-5 4.001100-7 125 6 2 94 + 5.135000-7-1.860700-9-3.793200-9 9.73020-14 3.13170-13 2.75740-16 125 6 2 95 + 1.53820-15-6.97620-20-9.39390-19 125 6 2 96 + 0.000000+0 2.800000+5 1 0 21 6 125 6 2 97 + 1.908700-1 4.318600-7 3.18720-12 2.73290-16-1.04490-16 1.05740-16 125 6 2 98 +-1.19900-16 5.232500-1 9.543500-2-1.212100-4-7.945700-5 4.827900-7 125 6 2 99 + 5.807300-7-2.505900-9-4.640500-9 1.49360-13 4.14400-13 5.08070-16 125 6 2 100 + 2.20390-15-1.86030-19-1.45620-18 125 6 2 101 + 0.000000+0 3.000000+5 1 0 21 6 125 6 2 102 + 2.085400-1 5.537300-7 4.51160-12 1.53720-16-2.08980-16 2.45840-16 125 6 2 103 +-6.21720-17 5.268800-1 1.042700-1-1.311700-4-8.252100-5 5.724000-7 125 6 2 104 + 6.498400-7-3.275300-9-5.585000-9 2.18090-13 5.36330-13 8.52790-16 125 6 2 105 + 3.07080-15-3.85270-19-2.18220-18 125 6 2 106 + 0.000000+0 3.200000+5 1 0 21 6 125 6 2 107 + 2.256700-1 6.947200-7 6.22890-12 2.73290-16-1.04490-16 1.53320-16 125 6 2 108 +-4.88500-17 5.290800-1 1.128300-1-1.409300-4-8.534600-5 6.687400-7 125 6 2 109 + 7.206400-7-4.177800-9-6.628200-9 3.06410-13 6.81080-13 1.34300-15 125 6 2 110 + 4.17710-15-7.03720-19-3.17690-18 125 6 2 111 + 0.000000+0 3.400000+5 1 0 21 6 125 6 2 112 + 2.422100-1 8.555600-7 8.41510-12 2.73290-16-1.04490-16 1.55960-16 125 6 2 113 + 0.000000+0 5.300700-1 1.211000-1-1.504800-4-8.795600-5 7.716300-7 125 6 2 114 + 7.929900-7-5.221900-9-7.771800-9 4.17410-13 8.50790-13 2.01730-15 125 6 2 115 + 5.56500-15-1.18740-18-4.51000-18 125 6 2 116 + 0.000000+0 3.600000+5 1 0 21 6 125 6 2 117 + 2.581300-1 1.036800-6 1.11540-11 2.39120-16 5.22460-17 5.55110-17 125 6 2 118 + 6.66130-17 5.300100-1 1.290700-1-1.598300-4-9.037200-5 8.809000-7 125 6 2 119 + 8.667400-7-6.416200-9-9.017100-9 5.54370-13 1.04760-12 2.91980-15 125 6 2 120 + 7.28030-15-1.89380-18-6.26310-18 125 6 2 121 + 0.000000+0 3.800000+5 1 0 21 6 125 6 2 122 + 2.734200-1 1.239000-6 1.45360-11 2.39120-16 0.000000+0 8.19450-17 125 6 2 123 +-1.06580-16 5.290700-1 1.367100-1-1.689700-4-9.261400-5 9.963900-7 125 6 2 124 + 9.417800-7-7.768500-9-1.036500-8 7.20730-13 1.27370-12 4.10060-15 125 6 2 125 + 9.37250-15-2.89300-18-8.53000-18 125 6 2 126 + 0.000000+0 4.000000+5 1 0 21 6 125 6 2 127 + 2.880500-1 1.462500-6 1.86610-11 2.73290-16-5.22460-17 3.17210-17 125 6 2 128 + 1.77640-17 5.273600-1 1.440300-1-1.779200-4-9.469800-5 1.117900-6 125 6 2 129 + 1.018000-6-9.286900-9-1.181700-8 9.20070-13 1.53130-12 5.61630-15 125 6 2 130 + 1.18950-14-4.26980-18-1.14180-17 125 6 2 131 + 0.000000+0 4.200000+5 1 0 21 6 125 6 2 132 + 3.020300-1 1.707500-6 2.36350-11 6.14890-16-3.13470-16 1.16310-16 125 6 2 133 +-1.33230-16 5.250000-1 1.510100-1-1.866800-4-9.663600-5 1.245400-6 125 6 2 134 + 1.095300-6-1.097900-8-1.337400-8 1.15620-12 1.82250-12 7.52980-15 125 6 2 135 + 1.49050-14-6.12500-18-1.50500-17 125 6 2 136 + 0.000000+0 4.400000+5 1 0 21 6 125 6 2 137 + 3.153500-1 1.974200-6 2.95740-11 4.78250-16-1.04490-16-3.17210-17 125 6 2 138 +-5.32910-17 5.220800-1 1.576700-1-1.952500-4-9.844300-5 1.378600-6 125 6 2 139 + 1.173600-6-1.285200-8-1.503600-8 1.43290-12 2.14960-12 9.91080-15 125 6 2 140 + 1.84620-14-8.57750-18-1.95610-17 125 6 2 141 + 0.000000+0 4.600000+5 1 0 21 6 125 6 2 142 + 3.280100-1 2.262600-6 3.65990-11 5.80730-16 5.22460-17 1.00450-16 125 6 2 143 +-8.88180-17 5.186800-1 1.640100-1-2.036400-4-1.001300-4 1.517500-6 125 6 2 144 + 1.252900-6-1.491200-8-1.680500-8 1.75430-12 2.51480-12 1.28360-14 125 6 2 145 + 2.26330-14-1.17660-17-2.51070-17 125 6 2 146 + 0.000000+0 4.800000+5 1 0 21 6 125 6 2 147 + 3.400400-1 2.572800-6 4.48400-11 7.51540-16-2.08980-16 1.42740-16 125 6 2 148 +-6.21720-17 5.148600-1 1.700200-1-2.118500-4-1.017000-4 1.661900-6 125 6 2 149 + 1.333000-6-1.716800-8-1.868200-8 2.12450-12 2.92030-12 1.63900-14 125 6 2 150 + 2.74850-14-1.58500-17-3.18570-17 125 6 2 151 + 0.000000+0 5.000000+5 1 0 21 6 125 6 2 152 + 3.514300-1 2.904700-6 5.44370-11 9.90660-16-1.56740-16 1.79750-16 125 6 2 153 +-5.32910-17 5.106900-1 1.757100-1-2.198900-4-1.031700-4 1.811700-6 125 6 2 154 + 1.413900-6-1.962600-8-2.066500-8 2.54790-12 3.36820-12 2.06650-14 125 6 2 155 + 3.30910-14-2.10150-17-4.00020-17 125 6 2 156 + 0.000000+0 5.500000+5 1 0 21 6 125 6 2 157 + 3.772300-1 3.828200-6 8.53340-11 1.77640-15-3.13470-16 3.70070-17 125 6 2 158 +-1.95400-16 4.990600-1 1.886100-1-2.392600-4-1.064500-4 2.209100-6 125 6 2 159 + 1.619400-6-2.669600-8-2.610000-8 3.86840-12 4.68880-12 3.51750-14 125 6 2 160 + 5.09130-14-4.00960-17-6.78810-17 125 6 2 161 + 0.000000+0 6.000000+5 1 0 21 6 125 6 2 162 + 3.994200-1 4.882800-6 1.28130-10 2.93780-15-3.65720-16 1.42740-16 125 6 2 163 +-5.32910-17 4.861900-1 1.997100-1-2.576500-4-1.092200-4 2.637800-6 125 6 2 164 + 1.828800-6-3.516800-8-3.222000-8 5.62190-12 6.32380-12 5.66110-14 125 6 2 165 + 7.52310-14-7.13900-17-1.09660-16 125 6 2 166 + 0.000000+0 6.500000+5 1 0 21 6 125 6 2 167 + 4.183000-1 6.063400-6 1.85610-10 4.95330-15-3.65720-16 1.63890-16 125 6 2 168 +-1.24340-16 4.725700-1 2.091500-1-2.751400-4-1.115800-4 3.096500-6 125 6 2 169 + 2.041600-6-4.513300-8-3.902900-8 7.88570-12 8.30810-12 8.70880-14 125 6 2 170 + 1.07500-13-1.20270-16-1.70070-16 125 6 2 171 + 0.000000+0 7.000000+5 1 0 21 6 125 6 2 172 + 4.341500-1 7.364000-6 2.60880-10 7.51540-15-8.35930-16 8.98750-17 125 6 2 173 +-2.13160-16 4.585500-1 2.170700-1-2.917700-4-1.135800-4 3.583700-6 125 6 2 174 + 2.257300-6-5.668200-8-4.653300-8 1.07410-11 1.06770-11 1.29080-13 125 6 2 175 + 1.49310-13-1.93640-16-2.54800-16 125 6 2 176 + 0.000000+0 7.500000+5 1 0 21 6 125 6 2 177 + 4.472900-1 8.777800-6 3.57320-10 1.18880-14-7.31440-16-1.05740-17 125 6 2 178 +-2.48690-16 4.443900-1 2.236400-1-3.076100-4-1.152600-4 4.098300-6 125 6 2 179 + 2.475500-6-6.989600-8-5.473500-8 1.42740-11 1.34640-11 1.85430-13 125 6 2 180 + 2.02440-13-3.00160-16-3.70640-16 125 6 2 181 + 0.000000+0 8.000000+5 1 0 21 6 125 6 2 182 + 4.580100-1 1.029800-5 4.78630-10 1.76950-14-6.79200-16 0.000000+0 125 6 2 183 +-8.88180-17 4.302900-1 2.290000-1-3.227100-4-1.166800-4 4.639200-6 125 6 2 184 + 2.695900-6-8.485700-8-6.363600-8 1.85720-11 1.67040-11 2.59380-13 125 6 2 185 + 2.68790-13-4.50510-16-5.25560-16 125 6 2 186 + 0.000000+0 8.500000+5 1 0 21 6 125 6 2 187 + 4.665600-1 1.191700-5 6.28750-10 2.61670-14-6.26950-16-1.26880-16 125 6 2 188 +-2.30930-16 4.163800-1 2.332800-1-3.371100-4-1.178600-4 5.205400-6 125 6 2 189 + 2.918100-6-1.016400-7-7.323800-8 2.37290-11 2.04330-11 3.54580-13 125 6 2 190 + 3.50420-13-6.57640-16-7.28790-16 125 6 2 191 + 0.000000+0 9.000000+5 1 0 21 6 125 6 2 192 + 4.732200-1 1.362900-5 8.11950-10 3.79180-14-8.35930-16-2.22040-16 125 6 2 193 +-3.19740-16 4.027700-1 2.366000-1-3.508400-4-1.188300-4 5.795800-6 125 6 2 194 + 3.142000-6-1.203200-7-8.354300-8 2.98390-11 2.46830-11 4.75120-13 125 6 2 195 + 4.49570-13-9.37060-16-9.90940-16 125 6 2 196 + 0.000000+0 9.500000+5 1 0 21 6 125 6 2 197 + 4.781900-1 1.542600-5 1.032700-9 5.33590-14-1.04490-15-2.53770-16 125 6 2 198 +-3.55270-16 3.895200-1 2.390900-1-3.639600-4-1.196100-4 6.409800-6 125 6 2 199 + 3.367300-6-1.409600-7-9.454900-8 3.70030-11 2.94900-11 6.25520-13 125 6 2 200 + 5.68610-13-1.30710-15-1.32410-15 125 6 2 201 + 0.000000+0 1.000000+6 1 0 21 6 125 6 2 202 + 4.817000-1 1.730200-5 1.295900-9 7.45390-14-8.88180-16-1.79750-16 125 6 2 203 +-4.26330-16 3.766900-1 2.408400-1-3.764800-4-1.202300-4 7.046400-6 125 6 2 204 + 3.593800-6-1.636300-7-1.062600-7 4.53200-11 3.48860-11 8.10760-13 125 6 2 205 + 7.10070-13-1.78920-15-1.74190-15 125 6 2 206 + 0.000000+0 1.100000+6 1 0 21 6 125 6 2 207 + 4.850300-1 2.126700-5 1.970000-9 1.37330-13-1.14940-15-5.23390-16 125 6 2 208 +-3.10860-16 3.523800-1 2.425100-1-3.998700-4-1.210100-4 8.384600-6 125 6 2 209 + 4.050000-6-2.153100-7-1.317700-7 6.58360-11 4.75810-11 1.30810-12 125 6 2 210 + 1.07120-12-3.19290-15-2.89440-15 125 6 2 211 + 0.000000+0 1.200000+6 1 0 21 6 125 6 2 212 + 4.844700-1 2.547900-5 2.877900-9 2.39400-13-1.61960-15-6.60850-16 125 6 2 213 +-5.06260-16 3.299500-1 2.422300-1-4.212400-4-1.213000-4 9.805100-6 125 6 2 214 + 4.509400-6-2.758400-7-1.600800-7 9.22470-11 6.30330-11 2.01680-12 125 6 2 215 + 1.55620-12-5.39410-15-4.59270-15 125 6 2 216 + 0.000000+0 1.300000+6 1 0 21 6 125 6 2 217 + 4.810100-1 2.990100-5 4.067300-9 3.98660-13-1.67190-15-6.92570-16 125 6 2 218 +-7.10540-16 3.093700-1 2.405000-1-4.407600-4-1.211600-4 1.130300-5 125 6 2 219 + 4.971100-6-3.456800-7-1.911700-7 1.25450-10 8.15000-11 2.99480-12 125 6 2 220 + 2.19100-12-8.70900-15-7.01210-15 125 6 2 221 + 0.000000+0 1.400000+6 1 0 21 6 125 6 2 222 + 4.754300-1 3.450000-5 5.589800-9 6.37850-13-1.98530-15-7.98300-16 125 6 2 223 +-5.86200-16 2.905500-1 2.377000-1-4.585800-4-1.206600-4 1.287400-5 125 6 2 224 + 5.434500-6-4.252200-7-2.250100-7 1.66380-10 1.03240-10 4.30850-12 125 6 2 225 + 3.00390-12-1.35350-14-1.03620-14 125 6 2 226 + 0.000000+0 1.500000+6 1 0 21 6 125 6 2 227 + 4.683100-1 3.924900-5 7.500900-9 9.85880-13-2.45560-15-6.60850-16 125 6 2 228 +-7.99360-16 2.733800-1 2.341400-1-4.748500-4-1.198500-4 1.451400-5 125 6 2 229 + 5.899000-6-5.148600-7-2.615800-7 2.15980-10 1.28490-10 6.03360-12 125 6 2 230 + 4.02560-12-2.03620-14-1.48900-14 125 6 2 231 + 0.000000+0 1.600000+6 1 0 21 6 125 6 2 232 + 4.601100-1 4.412400-5 9.859600-9 1.47990-12-2.40330-15-9.88630-16 125 6 2 233 +-9.23710-16 2.577100-1 2.300400-1-4.896700-4-1.187700-4 1.621900-5 125 6 2 234 + 6.364200-6-6.149500-7-3.008500-7 2.75230-10 1.57510-10 8.25510-12 125 6 2 235 + 5.28920-12-2.97840-14-2.08840-14 125 6 2 236 + 0.000000+0 1.700000+6 1 0 21 6 125 6 2 237 + 4.511800-1 4.910600-5 1.272800-8 2.16390-12-2.66450-15-1.02560-15 125 6 2 238 +-9.23710-16 2.434100-1 2.255700-1-5.031500-4-1.174600-4 1.798700-5 125 6 2 239 + 6.829500-6-7.258400-7-3.428000-7 3.45140-10 1.90530-10 1.10680-11 125 6 2 240 + 6.83050-12-4.25110-14-2.86740-14 125 6 2 241 + 0.000000+0 1.800000+6 1 0 21 6 125 6 2 242 + 4.417900-1 5.417900-5 1.617300-8 3.09410-12-3.34370-15-1.10490-15 125 6 2 243 +-1.15460-15 2.303500-1 2.208800-1-5.153800-4-1.159300-4 1.981400-5 125 6 2 244 + 7.294800-6-8.478300-7-3.873900-7 4.26720-10 2.27770-10 1.45760-11 125 6 2 245 + 8.68730-12-5.93860-14-3.86370-14 125 6 2 246 + 0.000000+0 1.900000+6 1 0 21 6 125 6 2 247 + 4.321400-1 5.932800-5 2.026300-8 4.33330-12-3.44820-15-1.34280-15 125 6 2 248 +-1.30560-15 2.184100-1 2.160500-1-5.264300-4-1.142200-4 2.169800-5 125 6 2 249 + 7.759600-6-9.812100-7-4.345800-7 5.21000-10 2.69470-10 1.88950-11 125 6 2 250 + 1.09000-11-8.13880-14-5.12000-14 125 6 2 251 + 0.000000+0 2.000000+6 1 0 21 6 125 6 2 252 + 4.223800-1 6.454300-5 2.506900-8 5.95980-12-4.02290-15-1.56490-15 125 6 2 253 +-1.31450-15 2.074700-1 2.111600-1-5.364000-4-1.123300-4 2.363500-5 125 6 2 254 + 8.223700-6-1.126300-6-4.843600-7 6.29030-10 3.15840-10 2.41500-11 125 6 2 255 + 1.35120-11-1.09660-13-6.68420-14 125 6 2 256 + 0.000000+0 2.100000+6 1 0 21 6 125 6 2 257 + 4.126200-1 6.981300-5 3.066700-8 8.06340-12-4.49310-15-1.65480-15 125 6 2 258 +-1.45660-15 1.974300-1 2.062800-1-5.453200-4-1.102900-4 2.562400-5 125 6 2 259 + 8.687000-6-1.283300-6-5.366700-7 7.51860-10 3.67100-10 3.04780-11 125 6 2 260 + 1.65670-11-1.45500-13-8.60970-14 125 6 2 261 + 0.000000+0 2.200000+6 1 0 21 6 125 6 2 262 + 4.029400-1 7.512900-5 3.713400-8 1.07490-11-5.22460-15-1.77640-15 125 6 2 263 +-1.68750-15 1.882000-1 2.014400-1-5.532800-4-1.081200-4 2.766200-5 125 6 2 264 + 9.149100-6-1.452400-6-5.914800-7 8.90560-10 4.23450-10 3.80270-11 125 6 2 265 + 2.01140-11-1.90410-13-1.09560-13 125 6 2 266 + 0.000000+0 2.300000+6 1 0 21 6 125 6 2 267 + 3.934100-1 8.048300-5 4.454900-8 1.41360-11-6.00830-15-1.83980-15 125 6 2 268 +-1.63420-15 1.797000-1 1.966700-1-5.603100-4-1.058100-4 2.974700-5 125 6 2 269 + 9.610100-6-1.634000-6-6.487500-7 1.046200-9 4.85080-10 4.69550-11 125 6 2 270 + 2.42020-11-2.46070-13-1.37870-13 125 6 2 271 + 0.000000+0 2.400000+6 1 0 21 6 125 6 2 272 + 3.840700-1 8.587000-5 5.299600-8 1.83610-11-7.00090-15-2.25220-15 125 6 2 273 +-1.42110-15 1.718600-1 1.919900-1-5.664800-4-1.033900-4 3.187800-5 125 6 2 274 + 1.007000-5-1.828200-6-7.084500-7 1.219800-9 5.52210-10 5.74330-11 125 6 2 275 + 2.88840-11-3.14390-13-1.71770-13 125 6 2 276 + 0.000000+0 2.500000+6 1 0 21 6 125 6 2 277 + 3.749500-1 9.128200-5 6.255900-8 2.35830-11-8.30710-15-2.31560-15 125 6 2 278 +-1.92730-15 1.646100-1 1.874300-1-5.718100-4-1.008700-4 3.405100-5 125 6 2 279 + 1.052800-5-2.035200-6-7.705300-7 1.412600-9 6.25010-10 6.96430-11 125 6 2 280 + 3.42120-11-3.97480-13-2.12020-13 125 6 2 281 + 0.000000+0 2.600000+6 1 0 21 6 125 6 2 282 + 3.660700-1 9.671600-5 7.332300-8 2.99740-11-1.00310-14-2.31030-15 125 6 2 283 +-1.97180-15 1.578900-1 1.829900-1-5.763700-4-9.824400-5 3.626600-5 125 6 2 284 + 1.098400-5-2.255200-6-8.349500-7 1.625500-9 7.03660-10 8.37790-11 125 6 2 285 + 4.02460-11-4.97730-13-2.59480-13 125 6 2 286 + 0.000000+0 2.700000+6 1 0 21 6 125 6 2 287 + 3.574400-1 1.021700-4 8.537900-8 3.77340-11-1.19640-14-2.40550-15 125 6 2 288 +-2.12270-15 1.516600-1 1.786700-1-5.801800-4-9.552800-5 3.852100-5 125 6 2 289 + 1.143900-5-2.488400-6-9.016700-7 1.859600-9 7.88340-10 1.00050-10 125 6 2 290 + 4.70420-11-6.17760-13-3.15080-13 125 6 2 291 + 0.000000+0 2.800000+6 1 0 21 6 125 6 2 292 + 3.490800-1 1.076300-4 9.881500-8 4.70810-11-1.43680-14-2.72800-15 125 6 2 293 +-2.31810-15 1.458700-1 1.744800-1-5.832800-4-9.272900-5 4.081400-5 125 6 2 294 + 1.189200-5-2.735000-6-9.706400-7 2.116100-9 8.79210-10 1.18670-10 125 6 2 295 + 5.46620-11-7.60460-13-3.79810-13 125 6 2 296 + 0.000000+0 2.900000+6 1 0 21 6 125 6 2 297 + 3.409800-1 1.131000-4 1.137200-7 5.82610-11-1.76590-14-2.90240-15 125 6 2 298 +-2.46910-15 1.404700-1 1.704300-1-5.857000-4-8.985100-5 4.314300-5 125 6 2 299 + 1.234300-5-2.995000-6-1.041800-6 2.395900-9 9.76450-10 1.39870-10 125 6 2 300 + 6.31700-11-9.29030-13-4.54760-13 125 6 2 301 + 0.000000+0 3.000000+6 1 0 21 6 125 6 2 302 + 3.331500-1 1.185800-4 1.302000-7 7.15430-11-2.17860-14-2.94470-15 125 6 2 303 +-2.39810-15 1.354300-1 1.665100-1-5.874800-4-8.690000-5 4.550700-5 125 6 2 304 + 1.279200-5-3.268700-6-1.115200-6 2.700200-9 1.080200-9 1.63900-10 125 6 2 305 + 7.26310-11-1.12700-12-5.41070-13 125 6 2 306 + 0.000000+0 3.200000+6 1 0 21 6 125 6 2 307 + 3.182600-1 1.295300-4 1.682300-7 1.05630-10-3.30720-14-3.27780-15 125 6 2 308 +-2.68230-15 1.263200-1 1.590600-1-5.892100-4-8.080100-5 5.033600-5 125 6 2 309 + 1.368400-5-3.857500-6-1.268300-6 3.386400-9 1.307800-9 2.21480-10 125 6 2 310 + 9.46850-11-1.62650-12-7.52850-13 125 6 2 311 + 0.000000+0 3.400000+6 1 0 21 6 125 6 2 312 + 3.043700-1 1.404700-4 2.136700-7 1.52070-10-5.02600-14-3.44170-15 125 6 2 313 +-2.86880-15 1.183000-1 1.521000-1-5.886800-4-7.446500-5 5.528900-5 125 6 2 314 + 1.456700-5-4.502500-6-1.429500-6 4.183100-9 1.563200-9 2.93620-10 125 6 2 315 + 1.21390-10-2.29370-12-1.02610-12 125 6 2 316 + 0.000000+0 3.600000+6 1 0 21 6 125 6 2 317 + 2.914200-1 1.513800-4 2.673200-7 2.14110-10-7.60700-14-3.87260-15 125 6 2 318 +-3.14420-15 1.112100-1 1.456200-1-5.860800-4-6.792400-5 6.035800-5 125 6 2 319 + 1.544200-5-5.204300-6-1.598600-6 5.098400-9 1.847500-9 3.82740-10 125 6 2 320 + 1.53340-10-3.16910-12-1.37330-12 125 6 2 321 + 0.000000+0 3.800000+6 1 0 21 6 125 6 2 322 + 2.793400-1 1.622300-4 3.299600-7 2.95540-10-1.13740-13-4.12900-15 125 6 2 323 +-3.34840-15 1.049100-1 1.395700-1-5.815700-4-6.120200-5 6.553200-5 125 6 2 324 + 1.630700-5-5.963800-6-1.775100-6 6.140500-9 2.161400-9 4.91480-10 125 6 2 325 + 1.91180-10-4.29980-12-1.80820-12 125 6 2 326 + 0.000000+0 4.000000+6 1 0 21 6 125 6 2 327 + 2.680800-1 1.730200-4 4.024000-7 4.00760-10-1.68230-13-4.41450-15 125 6 2 328 +-3.58820-15 9.926300-2 1.339300-1-5.753000-4-5.432100-5 7.080300-5 125 6 2 329 + 1.716400-5-6.781500-6-1.958700-6 7.317100-9 2.505900-9 6.22680-10 125 6 2 330 + 2.35570-10-5.73980-12-2.34660-12 125 6 2 331 + 0.000000+0 4.200000+6 1 0 21 6 125 6 2 332 + 2.575700-1 1.837300-4 4.854600-7 5.34810-10-2.44460-13-4.76340-15 125 6 2 333 +-3.85910-15 9.419200-2 1.286600-1-5.674100-4-4.730200-5 7.616500-5 125 6 2 334 + 1.801000-5-7.657900-6-2.149100-6 8.635800-9 2.881600-9 7.79440-10 125 6 2 335 + 2.87200-10-7.55070-12-3.00540-12 125 6 2 336 + 0.000000+0 4.400000+6 1 0 21 6 125 6 2 337 + 2.477400-1 1.943500-4 5.799300-7 7.03430-10-3.50990-13-4.96430-15 125 6 2 338 +-4.00570-15 8.961300-2 1.237400-1-5.580100-4-4.016100-5 8.161000-5 125 6 2 339 + 1.884800-5-8.593400-6-2.345800-6 1.010400-8 3.289300-9 9.65050-10 125 6 2 340 + 3.46800-10-9.80210-12-3.80390-12 125 6 2 341 + 0.000000+0 4.600000+6 1 0 21 6 125 6 2 342 + 2.385500-1 2.048600-4 6.866200-7 9.13120-10-4.96280-13-5.24710-15 125 6 2 343 +-4.27660-15 8.546000-2 1.191300-1-5.472300-4-3.291400-5 8.713100-5 125 6 2 344 + 1.967500-5-9.588300-6-2.548600-6 1.172900-8 3.729500-9 1.183000-9 125 6 2 345 + 4.15130-10-1.25720-11-4.76260-12 125 6 2 346 + 0.000000+0 4.800000+6 1 0 21 6 125 6 2 347 + 2.299300-1 2.152700-4 8.063300-7 1.171100-9-6.92180-13-5.49300-15 125 6 2 348 +-4.50310-15 8.167800-2 1.148100-1-5.351500-4-2.557400-5 9.272200-5 125 6 2 349 + 2.049400-5-1.064300-5-2.757100-6 1.351600-8 4.202600-9 1.437200-9 125 6 2 350 + 4.92970-10-1.59490-11-5.90440-12 125 6 2 351 + 0.000000+0 5.000000+6 1 0 21 6 125 6 2 352 + 2.218400-1 2.255500-4 9.398500-7 1.485500-9-9.52860-13-5.76790-15 125 6 2 353 +-4.75620-15 7.822300-2 1.107500-1-5.218700-4-1.815300-5 9.837800-5 125 6 2 354 + 2.130200-5-1.175700-5-2.971000-6 1.547400-8 4.709100-9 1.731400-9 125 6 2 355 + 5.81140-10-2.00300-11-7.25390-12 125 6 2 356 + 0.000000+0 5.500000+6 1 0 21 6 125 6 2 357 + 2.036800-1 2.506900-4 1.339100-6 2.579500-9-2.00990-12-6.38910-15 125 6 2 358 +-5.37350-15 7.076500-2 1.016400-1-4.839800-4 6.785600-7 1.127600-4 125 6 2 359 + 2.328100-5-1.480500-5-3.526800-6 2.114700-8 6.122400-9 2.670900-9 125 6 2 360 + 8.52360-10-3.40450-11-1.17160-11 125 6 2 361 + 0.000000+0 6.000000+6 1 0 21 6 125 6 2 362 + 1.880000-1 2.749300-4 1.841200-6 4.250100-9-3.96850-12-6.69830-15 125 6 2 363 +-5.89310-15 6.464300-2 9.377000-2-4.402900-4 1.979600-5 1.274300-4 125 6 2 364 + 2.520100-5-1.822600-5-4.108800-6 2.800100-8 7.747500-9 3.960400-9 125 6 2 365 + 1.207400-9-5.51590-11-1.81250-11 125 6 2 366 + 0.000000+0 6.500000+6 1 0 21 6 125 6 2 367 + 1.743700-1 2.982000-4 2.457000-6 6.701600-9-7.40420-12-6.62700-15 125 6 2 368 +-6.50150-15 5.953200-2 8.691700-2-3.917700-4 3.908100-5 1.423200-4 125 6 2 369 + 2.706200-5-2.201600-5-4.711800-6 3.610100-8 9.583000-9 5.681500-9 125 6 2 370 + 1.661100-9-8.58490-11-2.70430-11 125 6 2 371 + 0.000000+0 7.000000+6 1 0 21 6 125 6 2 372 + 1.624100-1 3.204500-4 3.196500-6 1.018000-8-1.31590-11-5.92910-15 125 6 2 373 +-7.01660-15 5.520300-2 8.090400-2-3.392600-4 5.843600-5 1.573700-4 125 6 2 374 + 2.886500-5-2.617200-5-5.331300-6 4.550000-8 1.162500-8 7.924700-9 125 6 2 375 + 2.229400-9-1.29140-10-3.91260-11 125 6 2 376 + 0.000000+0 7.500000+6 1 0 21 6 125 6 2 377 + 1.518500-1 3.416500-4 4.068500-6 1.497600-8-2.24210-11-3.84880-15 125 6 2 378 +-7.55400-15 5.149200-2 7.559100-2-2.834600-4 7.778000-5 1.725200-4 125 6 2 379 + 3.061300-5-3.068500-5-5.962500-6 5.623100-8 1.386600-8 1.079000-8 125 6 2 380 + 2.929000-9-1.88630-10-5.51300-11 125 6 2 381 + 0.000000+0 8.000000+6 1 0 21 6 125 6 2 382 + 1.424800-1 3.618000-4 5.080700-6 2.142500-8-3.68260-11 4.89030-16 125 6 2 383 +-8.11350-15 4.827400-2 7.086600-2-2.249700-4 9.704900-5 1.877300-4 125 6 2 384 + 3.230600-5-3.554800-5-6.601300-6 6.830800-8 1.629600-8 1.438500-8 125 6 2 385 + 3.777400-9-2.68610-10-7.59120-11 125 6 2 386 + 0.000000+0 8.500000+6 1 0 21 6 125 6 2 387 + 1.341000-1 3.808900-4 6.239300-6 2.991000-8-5.85610-11 8.48790-15 125 6 2 388 +-8.65530-15 4.545700-2 6.664000-2-1.643400-4 1.161900-4 2.029600-4 125 6 2 389 + 3.394800-5-4.075000-5-7.243600-6 8.172700-8 1.890300-8 1.882900-8 125 6 2 390 + 4.793000-9-3.74030-10-1.02440-10 125 6 2 391 + 0.000000+0 9.000000+6 1 0 21 6 125 6 2 392 + 1.265700-1 3.989300-4 7.549200-6 4.086000-8-9.04980-11 2.24640-14 125 6 2 393 +-9.21260-15 4.297000-2 6.283900-2-1.020100-4 1.351500-4 2.181600-4 125 6 2 394 + 3.553800-5-4.628000-5-7.885700-6 9.646400-8 2.167100-8 2.424800-8 125 6 2 395 + 5.994700-9-5.10630-10-1.35780-10 125 6 2 396 + 0.000000+0 9.500000+6 1 0 21 6 125 6 2 397 + 1.197800-1 4.159600-4 9.014100-6 5.475300-8-1.36330-10 4.55670-14 125 6 2 398 +-9.74550-15 4.075800-2 5.940300-2-3.839600-5 1.539000-4 2.333100-4 125 6 2 399 + 3.708000-5-5.212700-5-8.524200-6 1.124800-7 2.458400-8 3.077600-8 125 6 2 400 + 7.402300-9-6.84940-10-1.77130-10 125 6 2 401 + 0.000000+0 1.000000+7 1 0 21 6 125 6 2 402 + 1.136100-1 4.319900-4 1.063600-5 7.211100-8-2.00710-10 8.25620-14 125 6 2 403 +-1.02610-14 3.877700-2 5.628400-2 2.614500-5 1.724000-4 2.483700-4 125 6 2 404 + 3.857400-5-5.827800-5-9.155700-6 1.297100-7 2.762200-8 3.855800-8 125 6 2 405 + 9.036100-9-9.04350-10-2.27810-10 125 6 2 406 + 0.000000+0 1.050000+7 1 0 21 6 125 6 2 407 + 1.080000-1 4.470700-4 1.241500-5 9.350000-8-2.89440-10 1.40100-13 125 6 2 408 +-1.08270-14 3.699300-2 5.344000-2 9.129400-5 1.906300-4 2.633200-4 125 6 2 409 + 4.002300-5-6.471800-5-9.777400-6 1.480600-7 3.076300-8 4.774500-8 125 6 2 410 + 1.091700-8-1.177200-9-2.89220-10 125 6 2 411 + 0.000000+0 1.100000+7 1 0 21 6 125 6 2 412 + 1.028700-1 4.612300-4 1.435200-5 1.195300-7-4.09650-10 2.27440-13 125 6 2 413 +-1.13380-14 3.537600-2 5.083800-2 1.567700-4 2.085800-4 2.781300-4 125 6 2 414 + 4.142900-5-7.143300-5-1.038600-5 1.674500-7 3.398400-8 5.849600-8 125 6 2 415 + 1.306600-8-1.512700-9-3.62940-10 125 6 2 416 + 0.000000+0 1.150000+7 1 0 21 6 125 6 2 417 + 9.817000-2 4.745300-4 1.644300-5 1.508500-7-5.69960-10 3.57180-13 125 6 2 418 +-1.17790-14 3.390400-2 4.844700-2 2.223300-4 2.262100-4 2.927800-4 125 6 2 419 + 4.279200-5-7.840800-5-1.098000-5 1.877500-7 3.726000-8 7.097900-8 125 6 2 420 + 1.550500-8-1.921100-9-4.50620-10 125 6 2 421 + 0.000000+0 1.200000+7 1 0 21 6 125 6 2 422 + 9.384100-2 4.870000-4 1.868600-5 1.881300-7-7.80690-10 5.46320-13 125 6 2 423 +-1.22150-14 3.255800-2 4.624500-2 2.877400-4 2.435200-4 3.072500-4 125 6 2 424 + 4.411500-5-8.562800-5-1.155700-5 2.088300-7 4.056400-8 8.536900-8 125 6 2 425 + 1.825700-8-2.413800-9-5.54080-10 125 6 2 426 + 0.000000+0 1.250000+7 1 0 21 6 125 6 2 427 + 8.984600-2 4.987000-4 2.107500-5 2.321000-7-1.054100-9 8.17240-13 125 6 2 428 +-1.25790-14 3.132200-2 4.420800-2 3.528000-4 2.605000-4 3.215200-4 125 6 2 429 + 4.540000-5-9.307600-5-1.211400-5 2.305100-7 4.386800-8 1.018500-7 125 6 2 430 + 2.134400-8-3.003100-9-6.75240-10 125 6 2 431 + 0.000000+0 1.300000+7 1 0 21 6 125 6 2 432 + 8.614800-2 5.096800-4 2.360500-5 2.834900-7-1.404400-9 1.19930-12 125 6 2 433 +-1.28210-14 3.018200-2 4.232100-2 4.173400-4 2.771300-4 3.355800-4 125 6 2 434 + 4.664600-5-1.007300-4-1.265000-5 2.526300-7 4.714300-8 1.206000-7 125 6 2 435 + 2.479000-8-3.702500-9-8.16150-10 125 6 2 436 + 0.000000+0 1.350000+7 1 0 21 6 125 6 2 437 + 8.271600-2 5.199700-4 2.626900-5 3.430600-7-1.848500-9 1.73030-12 125 6 2 438 +-1.29010-14 2.912800-2 4.056700-2 4.812000-4 2.934200-4 3.494100-4 125 6 2 439 + 4.785700-5-1.085900-4-1.316200-5 2.750000-7 5.035700-8 1.418300-7 125 6 2 440 + 2.861700-8-4.526800-9-9.79010-10 125 6 2 441 + 0.000000+0 1.400000+7 1 0 21 6 125 6 2 442 + 7.952400-2 5.296300-4 2.905800-5 4.115900-7-2.405400-9 2.45880-12 125 6 2 443 +-1.27590-14 2.815000-2 3.893200-2 5.442300-4 3.093500-4 3.630000-4 125 6 2 444 + 4.903200-5-1.166200-4-1.365000-5 2.974000-7 5.347800-8 1.657300-7 125 6 2 445 + 3.284900-8-5.491700-9-1.166100-9 125 6 2 446 + 0.000000+0 1.450000+7 1 0 21 6 125 6 2 447 + 7.654700-2 5.387000-4 3.196400-5 4.898600-7-3.097100-9 3.44570-12 125 6 2 448 +-1.21990-14 2.723900-2 3.740600-2 6.063200-4 3.249200-4 3.763400-4 125 6 2 449 + 5.017400-5-1.248100-4-1.411200-5 3.196000-7 5.647400-8 1.925100-7 125 6 2 450 + 3.751000-8-6.614300-9-1.379900-9 125 6 2 451 + 0.000000+0 1.500000+7 1 0 21 6 125 6 2 452 + 7.376500-2 5.472300-4 3.497700-5 5.786600-7-3.948600-9 4.76760-12 125 6 2 453 +-1.12420-14 2.638900-2 3.597700-2 6.673400-4 3.401400-4 3.894100-4 125 6 2 454 + 5.128300-5-1.331500-4-1.454600-5 3.413700-7 5.931100-8 2.223900-7 125 6 2 455 + 4.262400-8-7.913000-9-1.623000-9 125 6 2 456 + 0.000000+0 1.550000+7 1 0 21 6 125 6 2 457 + 7.116000-2 5.552400-4 3.808500-5 6.787700-7-4.987900-9 6.51950-12 125 6 2 458 +-9.55900-15 2.559400-2 3.463700-2 7.272100-4 3.550000-4 4.022200-4 125 6 2 459 + 5.236100-5-1.416100-4-1.495200-5 3.624400-7 6.195300-8 2.555700-7 125 6 2 460 + 4.821600-8-9.407300-9-1.898100-9 125 6 2 461 + 0.000000+0 1.600000+7 1 0 21 6 125 6 2 462 + 6.871600-2 5.627900-4 4.127800-5 7.909600-7-6.246500-9 8.81820-12 125 6 2 463 +-6.95670-15 2.484800-2 3.337700-2 7.858200-4 3.695000-4 4.147400-4 125 6 2 464 + 5.340700-5-1.501800-4-1.532800-5 3.825400-7 6.436600-8 2.922900-7 125 6 2 465 + 5.431000-8-1.111800-8-2.208000-9 125 6 2 466 + 0.000000+0 1.700000+7 1 0 21 6 125 6 2 467 + 6.425700-2 5.766300-4 4.786900-5 1.054600-6-9.564600-9 1.56570-11 125 6 2 468 + 2.33150-15 2.348500-2 3.107300-2 8.990100-4 3.974200-4 4.389400-4 125 6 2 469 + 5.541300-5-1.675700-4-1.598700-5 4.186600-7 6.835900-8 3.772300-7 125 6 2 470 + 6.810300-8-1.528000-8-2.944100-9 125 6 2 471 + 0.000000+0 1.800000+7 1 0 21 6 125 6 2 472 + 6.029100-2 5.889700-4 5.464900-5 1.375300-6-1.422800-8 2.68180-11 125 6 2 473 + 2.04840-14 2.227100-2 2.901700-2 1.006400-3 4.239300-4 4.619500-4 125 6 2 474 + 5.730600-5-1.851800-4-1.651800-5 4.472700-7 7.099600-8 4.790700-7 125 6 2 475 + 8.420300-8-2.059400-8-3.856500-9 125 6 2 476 + 0.000000+0 1.900000+7 1 0 21 6 125 6 2 477 + 5.674400-2 6.000100-4 6.151100-5 1.758200-6-2.062300-8 4.44920-11 125 6 2 478 + 5.36060-14 2.118200-2 2.717200-2 1.107600-3 4.490500-4 4.837600-4 125 6 2 479 + 5.909100-5-2.028800-4-1.691400-5 4.657000-7 7.197800-8 5.997300-7 125 6 2 480 + 1.028100-7-2.727400-8-4.972300-9 125 6 2 481 + 0.000000+0 2.000000+7 1 0 21 6 125 6 2 482 + 5.355400-2 6.099300-4 6.834600-5 2.207600-6-2.920400-8 7.17370-11 125 6 2 483 + 1.11330-13 2.019700-2 2.550700-2 1.202400-3 4.728200-4 5.043400-4 125 6 2 484 + 6.077300-5-2.205200-4-1.717200-5 4.711400-7 7.100400-8 7.411400-7 125 6 2 485 + 1.241200-7-3.556100-8-6.320400-9 125 6 2 486 + 0.000000+0 2.100000+7 1 0 21 6 125 6 2 487 + 5.067100-2 6.188200-4 7.504600-5 2.726700-6-4.049100-8 1.12720-10 125 6 2 488 + 2.08310-13 1.930300-2 2.399600-2 1.290500-3 4.952600-4 5.236800-4 125 6 2 489 + 6.235600-5-2.379800-4-1.728600-5 4.606000-7 6.777300-8 9.053000-7 125 6 2 490 + 1.483500-7-4.571500-8-7.931700-9 125 6 2 491 + 0.000000+0 2.200000+7 1 0 21 6 125 6 2 492 + 4.805400-2 6.267700-4 8.150800-5 3.317800-6-5.506900-8 1.73040-10 125 6 2 493 + 3.66330-13 1.848600-2 2.262000-2 1.371900-3 5.164200-4 5.418000-4 125 6 2 494 + 6.384200-5-2.551300-4-1.725500-5 4.309900-7 6.198700-8 1.094200-6 125 6 2 495 + 1.756900-7-5.802000-8-9.838700-9 125 6 2 496 + 0.000000+0 2.300000+7 1 0 21 6 125 6 2 497 + 4.566900-2 6.338400-4 8.763000-5 3.981600-6-7.358700-8 2.60050-10 125 6 2 498 + 6.17080-13 1.773600-2 2.136100-2 1.446600-3 5.363500-4 5.586800-4 125 6 2 499 + 6.523500-5-2.718500-4-1.707600-5 3.791000-7 5.335200-8 1.309800-6 125 6 2 500 + 2.063400-7-7.278300-8-1.207500-8 125 6 2 501 + 0.000000+0 2.400000+7 1 0 21 6 125 6 2 502 + 4.348800-2 6.400500-4 9.332200-5 4.717500-6-9.674900-8 3.83260-10 125 6 2 503 + 1.00570-12 1.704400-2 2.020600-2 1.514600-3 5.550900-4 5.743500-4 125 6 2 504 + 6.653500-5-2.880200-4-1.674600-5 3.016600-7 4.158100-8 1.554100-6 125 6 2 505 + 2.405100-7-9.033200-8-1.467700-8 125 6 2 506 + 0.000000+0 2.500000+7 1 0 21 6 125 6 2 507 + 4.148500-2 6.454000-4 9.850000-5 5.523600-6-1.253100-7 5.54840-10 125 6 2 508 + 1.59570-12 1.640400-2 1.914200-2 1.575900-3 5.726900-4 5.888200-4 125 6 2 509 + 6.774500-5-3.035300-4-1.626500-5 1.953300-7 2.639400-8 1.829100-6 125 6 2 510 + 2.784000-7-1.110200-7-1.768200-8 125 6 2 511 + 0.000000+0 2.600000+7 1 0 21 6 125 6 2 512 + 3.964200-2 6.499100-4 1.030900-4 6.396400-6-1.600500-7 7.90080-10 125 6 2 513 + 2.47400-12 1.581000-2 1.815900-2 1.630800-3 5.892100-4 6.021300-4 125 6 2 514 + 6.886600-5-3.182900-4-1.563100-5 5.676600-8 7.525500-9 2.136800-6 125 6 2 515 + 3.202100-7-1.352100-7-2.112700-8 125 6 2 516 + 0.000000+0 2.700000+7 1 0 21 6 125 6 2 517 + 3.794000-2 6.535400-4 1.070300-4 7.330900-6-2.018000-7 1.108000-9 125 6 2 518 + 3.75910-12 1.525500-2 1.724900-2 1.679200-3 6.047000-4 6.142800-4 125 6 2 519 + 6.989900-5-3.321900-4-1.484400-5-1.174100-7-1.528200-8 2.478900-6 125 6 2 520 + 3.661300-7-1.633100-7-2.505200-8 125 6 2 521 + 0.000000+0 2.800000+7 1 0 21 6 125 6 2 522 + 3.636500-2 6.563000-4 1.102800-4 8.320800-6-2.513700-7 1.532000-9 125 6 2 523 + 5.60890-12 1.473700-2 1.640300-2 1.721500-3 6.192100-4 6.253100-4 125 6 2 524 + 7.084500-5-3.451600-4-1.390500-5-3.305500-7-4.227200-8 2.857400-6 125 6 2 525 + 4.163700-7-1.957100-7-2.949700-8 125 6 2 526 + 0.000000+0 2.900000+7 1 0 21 6 125 6 2 527 + 3.490300-2 6.581600-4 1.127900-4 9.358400-6-3.095700-7 2.090500-9 125 6 2 528 + 8.23200-12 1.425100-2 1.561600-2 1.757700-3 6.327900-4 6.352600-4 125 6 2 529 + 7.170500-5-3.571000-4-1.281500-5-5.859700-7-7.367200-8 3.273900-6 125 6 2 530 + 4.711200-7-2.328600-7-3.450400-8 125 6 2 531 + 0.000000+0 3.000000+7 1 0 21 6 125 6 2 532 + 3.354500-2 6.591200-4 1.145400-4 1.043500-5-3.771800-7 2.817600-9 125 6 2 533 + 1.19000-11 1.379400-2 1.488200-2 1.788300-3 6.455200-4 6.441600-4 125 6 2 534 + 7.247900-5-3.679500-4-1.157600-5-8.869500-7-1.096900-7 3.730300-6 125 6 2 535 + 5.305700-7-2.752100-7-4.011400-8 125 6 2 536 + 0.000000+0 3.200000+7 1 0 21 6 125 6 2 537 + 3.109900-2 6.583100-4 1.157400-4 1.266500-5-5.434300-7 4.947800-9 125 6 2 538 + 2.38660-11 1.295600-2 1.355400-2 1.832900-3 6.686100-4 6.589200-4 125 6 2 539 + 7.377600-5-3.861000-4-8.665000-6-1.638200-6-1.963600-7 4.768800-6 125 6 2 540 + 6.643400-7-3.773400-7-5.331200-8 125 6 2 541 + 0.000000+0 3.400000+7 1 0 21 6 125 6 2 542 + 2.896300-2 6.539300-4 1.139400-4 1.492400-5-7.548200-7 8.341800-9 125 6 2 543 + 4.55810-11 1.220500-2 1.238600-2 1.857400-3 6.889300-4 6.699100-4 125 6 2 544 + 7.474400-5-3.991700-4-5.207600-6-2.608700-6-3.036200-7 5.984400-6 125 6 2 545 + 8.191500-7-5.060200-7-6.943500-8 125 6 2 546 + 0.000000+0 3.600000+7 1 0 21 6 125 6 2 547 + 2.708800-2 6.462100-4 1.093800-4 1.711900-5-1.013900-6 1.356300-8 125 6 2 548 + 8.33800-11 1.152600-2 1.135400-2 1.863900-3 7.069400-4 6.774100-4 125 6 2 549 + 7.539200-5-4.068400-4-1.255200-6-3.820600-6-4.324700-7 7.387000-6 125 6 2 550 + 9.964500-7-6.653200-7-8.882400-8 125 6 2 551 + 0.000000+0 3.800000+7 1 0 21 6 125 6 2 552 + 2.543400-2 6.355200-4 1.024900-4 1.915900-5-1.320300-6 2.134900-8 125 6 2 553 + 1.46780-10 1.091000-2 1.043700-2 1.854200-3 7.230500-4 6.817300-4 125 6 2 554 + 7.573100-5-4.088800-4 3.125600-6-5.294000-6-5.836000-7 8.984400-6 125 6 2 555 + 1.197600-6-8.594800-7-1.118100-7 125 6 2 556 + 0.000000+0 4.000000+7 1 0 21 6 125 6 2 557 + 2.396900-2 6.223500-4 9.380500-5 2.096200-5-1.669700-6 3.263400-8 125 6 2 558 + 2.49610-10 1.034700-2 9.619500-3 1.830600-3 7.376400-4 6.831600-4 125 6 2 559 + 7.577600-5-4.051600-4 7.854200-6-7.045700-6-7.573200-7 1.078200-5 125 6 2 560 + 1.423700-6-1.092800-6-1.387300-7 125 6 2 561 + 0.000000+0 4.200000+7 1 0 21 6 125 6 2 562 + 2.266700-2 6.073200-4 8.394500-5 2.246000-5-2.053500-6 4.857700-8 125 6 2 563 + 4.11450-10 9.830900-3 8.888200-3 1.794900-3 7.510500-4 6.819900-4 125 6 2 564 + 7.554200-5-3.956300-4 1.283900-5-9.089600-6-9.535700-7 1.278300-5 125 6 2 565 + 1.676000-6-1.369700-6-1.698800-7 125 6 2 566 + 0.000000+0 4.400000+7 1 0 21 6 125 6 2 567 + 2.150700-2 5.910900-4 7.359600-5 2.360900-5-2.457700-6 7.057600-8 125 6 2 568 + 6.59230-10 9.355200-3 8.232100-3 1.749000-3 7.635500-4 6.785000-4 125 6 2 569 + 7.504600-5-3.803200-4 1.798100-5-1.143600-5-1.171900-6 1.498700-5 125 6 2 570 + 1.955400-6-1.694400-6-2.055600-7 125 6 2 571 + 0.000000+0 4.600000+7 1 0 21 6 125 6 2 572 + 2.047000-2 5.743500-4 6.345600-5 2.438900-5-2.862700-6 1.002800-7 125 6 2 573 + 1.029200-9 8.915600-3 7.642200-3 1.694600-3 7.753800-4 6.729300-4 125 6 2 574 + 7.430800-5-3.593500-4 2.317800-5-1.409100-5-1.411600-6 1.739300-5 125 6 2 575 + 2.262500-6-2.071200-6-2.460100-7 125 6 2 576 + 0.000000+0 4.800000+7 1 0 21 6 125 6 2 577 + 1.954100-2 5.577800-4 5.419800-5 2.480900-5-3.243400-6 1.396000-7 125 6 2 578 + 1.568900-9 8.508500-3 7.110700-3 1.633300-3 7.866800-4 6.655500-4 125 6 2 579 + 7.334600-5-3.328600-4 2.832900-5-1.705900-5-1.671400-6 1.999500-5 125 6 2 580 + 2.597900-6-2.504100-6-2.914700-7 125 6 2 581 + 0.000000+0 5.000000+7 1 0 21 6 125 6 2 582 + 1.870500-2 5.420000-4 4.644100-5 2.490600-5-3.569000-6 1.906800-7 125 6 2 583 + 2.339500-9 8.130500-3 6.631200-3 1.566600-3 7.975700-4 6.565600-4 125 6 2 584 + 7.218300-5-3.010900-4 3.334000-5-2.033700-5-1.949700-6 2.278400-5 125 6 2 585 + 2.961800-6-2.996800-6-3.421100-7 125 6 2 586 + 0.000000+0 5.500000+7 1 0 21 6 125 6 2 587 + 1.695000-2 5.094000-4 3.688400-5 2.424000-5-3.896000-6 3.858600-7 125 6 2 588 + 5.828400-9 7.296600-3 5.623700-3 1.385500-3 8.232200-4 6.284600-4 125 6 2 589 + 6.852700-5-2.003400-4 4.473100-5-2.985100-5-2.713900-6 3.050200-5 125 6 2 590 + 3.993300-6-4.512500-6-4.922600-7 125 6 2 591 + 0.000000+0 6.000000+7 1 0 21 6 125 6 2 592 + 1.556000-2 4.907800-4 4.511000-5 2.371800-5-2.988500-6 7.108900-7 125 6 2 593 + 1.304100-8 6.596200-3 4.835700-3 1.198100-3 8.462600-4 5.945300-4 125 6 2 594 + 6.406700-5-7.352600-5 5.388200-5-4.108300-5-3.544200-6 3.907100-5 125 6 2 595 + 5.184500-6-6.465700-6-6.764400-7 125 6 2 596 + 0.000000+0 6.500000+7 1 0 21 6 125 6 2 597 + 1.442900-2 4.879900-4 7.166100-5 2.554400-5-1.628400-7 1.207400-6 125 6 2 598 + 2.661300-8 6.004500-3 4.214600-3 1.019500-3 8.655300-4 5.571000-4 125 6 2 599 + 5.910900-5 7.271800-5 6.067200-5-5.370800-5-4.394700-6 4.814600-5 125 6 2 600 + 6.499100-6-8.877600-6-8.932300-7 125 6 2 601 + 0.000000+0 7.000000+7 1 0 21 6 125 6 2 602 + 1.348500-2 4.994600-4 1.127300-4 3.180300-5 5.111000-6 1.908500-6 125 6 2 603 + 5.010300-8 5.501900-3 3.720200-3 8.609000-4 8.797700-4 5.180600-4 125 6 2 604 + 5.393400-5 2.305900-4 6.570700-5-6.727700-5-5.214700-6 5.729900-5 125 6 2 605 + 7.876200-6-1.174200-5-1.138600-6 125 6 2 606 + 0.000000+0 7.500000+7 1 0 21 6 125 6 2 607 + 1.268300-2 5.214600-4 1.615700-4 4.374800-5 1.301200-5 2.826800-6 125 6 2 608 + 8.778500-8 5.071700-3 3.320700-3 7.306400-4 8.882600-4 4.789900-4 125 6 2 609 + 4.878400-5 3.913500-4 7.004200-5-8.124000-5-5.954500-6 6.605000-5 125 6 2 610 + 9.231500-6-1.502000-5-1.406000-6 125 6 2 611 + 0.000000+0 8.000000+7 1 0 21 6 125 6 2 612 + 1.199700-2 5.493100-4 2.102600-4 6.122000-5 2.321100-5 3.943800-6 125 6 2 613 + 1.440700-7 4.699600-3 2.991200-3 6.337300-4 8.911400-4 4.412400-4 125 6 2 614 + 4.386800-5 5.456300-4 7.474800-5-9.497000-5-6.570700-6 7.389600-5 125 6 2 615 + 1.046200-5-1.863700-5-1.686000-6 125 6 2 616 + 0.000000+0 8.500000+7 1 0 21 6 125 6 2 617 + 1.141000-2 5.782900-4 2.513800-4 8.236500-5 3.481100-5 5.200000-6 125 6 2 618 + 2.225200-7 4.373200-3 2.711500-3 5.723000-4 8.895300-4 4.060300-4 125 6 2 619 + 3.936400-5 6.840000-4 8.046400-5-1.077900-4-7.030300-6 8.034700-5 125 6 2 620 + 1.145600-5-2.247500-5-1.966900-6 125 6 2 621 + 0.000000+0 9.000000+7 1 0 21 6 125 6 2 622 + 1.090700-2 6.039800-4 2.792300-4 1.038000-4 4.641400-5 6.491900-6 125 6 2 623 + 3.243700-7 4.081800-3 2.466000-3 5.457300-4 8.853300-4 3.745200-4 125 6 2 624 + 3.542500-5 7.976200-4 8.707000-5-1.190000-4-7.314000-6 8.495100-5 125 6 2 625 + 1.210900-5-2.637800-5-2.234900-6 125 6 2 626 + 0.000000+0 9.500000+7 1 0 21 6 125 6 2 627 + 1.046900-2 6.223700-4 2.905000-4 1.212400-4 5.632200-5 7.675300-6 125 6 2 628 + 4.468700-7 3.816300-3 2.242600-3 5.510200-4 8.808500-4 3.478600-4 125 6 2 629 + 3.218500-5 8.789600-4 9.362400-5-1.279100-4-7.417300-6 8.733000-5 125 6 2 630 + 1.233600-5-3.014200-5-2.474300-6 125 6 2 631 + 0.000000+0 1.000000+8 1 0 21 6 125 6 2 632 + 1.007300-2 6.296800-4 2.843200-4 1.304400-4 6.282400-5 8.578200-6 125 6 2 633 + 5.814700-7 3.569300-3 2.032700-3 5.832600-4 8.784200-4 3.272500-4 125 6 2 634 + 2.977100-5 9.224200-4 9.856800-5-1.338300-4-7.348600-6 8.720600-5 125 6 2 635 + 1.208500-5-3.351900-5-2.668700-6 125 6 2 636 + 0.000000+0 1.100000+8 1 0 21 6 125 6 2 637 + 9.327700-3 5.985100-4 2.267100-4 1.135700-4 6.070200-5 8.864300-6 125 6 2 638 + 8.171200-7 3.107200-3 1.632900-3 7.031700-4 8.871200-4 3.093500-4 125 6 2 639 + 2.800000-5 8.848100-4 9.686100-5-1.342600-4-6.767600-6 7.899000-5 125 6 2 640 + 1.016800-5-3.789800-5-2.853200-6 125 6 2 641 + 0.000000+0 1.200000+8 1 0 21 6 125 6 2 642 + 8.587200-3 4.994700-4 1.340100-4 5.457500-5 3.785700-5 6.528600-6 125 6 2 643 + 8.327500-7 2.659400-3 1.247500-3 8.521700-4 9.208800-4 3.320700-4 125 6 2 644 + 3.183500-5 6.849900-4 7.374800-5-1.161000-4-5.685200-6 6.128200-5 125 6 2 645 + 6.862100-6-3.663800-5-2.642300-6 125 6 2 646 + 0.000000+0 1.300000+8 1 0 21 6 125 6 2 647 + 8.002800-3 3.667700-4 4.729400-5-7.285600-6 7.595700-6 2.559800-6 125 6 2 648 + 4.599200-7 2.204000-3 8.829400-4 9.832300-4 9.835900-4 4.082100-4 125 6 2 649 + 4.515100-5 3.495900-4 3.528300-5-7.667200-5-3.957500-6 3.957000-5 125 6 2 650 + 3.451800-6-2.616200-5-1.852200-6 125 6 2 651 + 0.000000+0 1.400000+8 1 0 21 6 125 6 2 652 + 8.012900-3 3.019100-4 3.066000-5-5.307700-6-1.458800-6 6.215000-7 125 6 2 653 + 3.520700-9 1.730700-3 5.577300-4 1.060000-3 1.079100-3 5.510900-4 125 6 2 654 + 7.677100-5-8.305300-5 1.640700-6-1.535200-5-9.084600-7 2.810500-5 125 6 2 655 + 2.128200-6-2.205500-6-1.594900-7 125 6 2 656 + 0.000000+0 1.500000+8 1 0 21 6 125 6 2 657 + 9.283100-3 4.540700-4 2.309700-4 1.386200-4 4.412100-5 4.820100-6 125 6 2 658 + 1.252100-6 1.239400-3 2.931600-4 1.053000-3 1.209400-3 7.707700-4 125 6 2 659 + 1.445700-4-5.740300-4-2.038600-7 6.595800-5 4.754900-6 6.237400-5 125 6 2 660 + 7.335900-6 4.016600-5 3.133500-6 125 6 2 661 + 0.000000+0 0.000000+0 0 0 0 0 125 6 099999 + 0.000000+0 0.000000+0 0 0 0 0 125 0 0 0 + 0.000000+0 0.000000+0 0 0 0 0 0 0 0 0 + 1.001000+3 9.991700-1 -1 0 0 2 125 1451 1 + 0.000000+0 0.000000+0 0 0 0 6 125 1451 2 + 9.986200-1 1.500000+8 6 0 10010 6 125 1451 3 + 0.000000+0 0.000000+0 0 0 32 2 125 1451 4 + 1-H - 1 LANL EVAL-FEB98 G.HALE 125 1451 5 + Ch99 DIST-AUG99 REV1- 19990907 125 1451 6 +----ENDF/B-VI MATERIAL 125 REVISION 1 125 1451 7 +-----INCIDENT PROTON DATA 125 1451 8 +------ENDF-6 FORMAT 125 1451 9 + 125 1451 10 + **************************************************************** 125 1451 11 + 125 1451 12 + ENDF/B-VI MOD 2 Evaluation, February 1998, G. M. Hale (LANL) 125 1451 13 + 125 1451 14 + Includes p + H1 elastic MT = 2 125 1451 15 + 125 1451 16 + p-p elastic cross sections calculated for Ep between 0 and 125 1451 17 + 150 MeV from an R-matrix analysis of p-p cross-section and 125 1451 18 + polarization data in this energy range. The maximum nuclear 125 1451 19 + partial wave allowed in the fit is l=6, and the resulting 125 1451 20 + chi-squared per degree of freedom is 1.8. 125 1451 21 + 125 1451 22 + **************************************************************** 125 1451 23 + 125 1451 24 + ENDF/B-VI MOD 1 Evaluation, October 1987, D. Dodder (LANL) 125 1451 25 + 125 1451 26 + Completely replaced by MOD 2 evaluation. 125 1451 27 + 125 1451 28 +**************************************************************** 125 1451 29 + 125 1451 30 +REFERENCES 125 1451 31 + 125 1451 32 +[Ch99] M.B. Chadwick, P G. Young, G. M. Hale, et al., Los Alamos 125 1451 33 + National Laboratory report, LA-UR-99-1222 (1999) 125 1451 34 + 125 1451 35 + ************************ C O N T E N T S ************************ 125 1451 36 + 1 451 39 1 125 1451 37 + 6 2 661 1 125 1451 38 + 0.000000+0 0.000000+0 0 0 0 0 125 1 099999 + 0.000000+0 0.000000+0 0 0 0 0 125 0 0 0 + 1.001000+3 9.991700-1 0 2 1 0 125 6 2 1 + 1.001000+3 9.966200-1 0 5 1 2 125 6 2 2 + 2 2 125 6 2 3 + 1.000000+3 1.000000+0 1.500000+8 1.000000+0 125 6 2 4 + 5.000000-1 0.000000+0 1 0 1 131 125 6 2 5 + 131 2 125 6 2 6 + 0.000000+0 1.000000+3 1 0 21 6 125 6 2 7 + 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 125 6 2 8 + 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 125 6 2 9 + 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 125 6 2 10 + 0.000000+0 0.000000+0 0.000000+0 125 6 2 11 + 0.000000+0 2.000000+4 1 0 21 6 125 6 2 12 + 4.913300-5-1.84640-12 2.43950-19-1.66800-20-1.91330-20 2.71050-20 125 6 2 13 +-1.08420-21 3.193000-2 2.456600-5 1.704500-7-1.529200-6-6.45090-10 125 6 2 14 + 3.04170-10 3.86880-13 1.08180-13-1.76570-18-1.88320-18-3.02160-22 125 6 2 15 +-9.32390-22-2.57440-27 4.68080-26 125 6 2 16 + 0.000000+0 3.000000+4 1 0 21 6 125 6 2 17 + 4.418500-4-2.09530-11 5.34870-18 6.67200-20-1.53060-19 2.37490-19 125 6 2 18 +-1.04080-19 7.818000-2 2.209200-4-4.153400-7-4.533300-6-2.019900-9 125 6 2 19 + 2.105000-9 2.30990-12-5.05480-13-2.16370-17-5.13870-18-1.03320-20 125 6 2 20 +-6.98120-21 5.52570-25 6.90790-25 125 6 2 21 + 0.000000+0 4.000000+4 1 0 21 6 125 6 2 22 + 1.583100-3-7.77440-11 3.92240-17 1.06750-18-2.04090-19 5.16290-19 125 6 2 23 +-5.55110-19 1.281600-1 7.915500-4-2.014600-6-8.482500-6-3.543000-9 125 6 2 24 + 6.195500-9 6.48990-12-3.85640-12-9.24840-17 1.36020-17-6.83790-20 125 6 2 25 +-1.15620-20 5.93050-24 2.71580-24 125 6 2 26 + 0.000000+0 5.000000+4 1 0 21 6 125 6 2 27 + 3.720100-3-1.58880-10 1.72890-16 0.000000+0-8.16340-19 2.06510-18 125 6 2 28 +-9.02060-19 1.757100-1 1.860100-3-4.550400-6-1.285800-5-4.525500-9 125 6 2 29 + 1.282000-8 1.27540-11-1.23330-11-2.48950-16 1.10820-16-2.49180-19 125 6 2 30 + 3.45850-20 2.93390-23 2.84400-24 125 6 2 31 + 0.000000+0 6.000000+4 1 0 21 6 125 6 2 32 + 6.924900-3-1.95810-10 5.60510-16 3.20260-18-2.44900-18 5.78240-19 125 6 2 33 +-3.46940-18 2.188300-1 3.462400-3-7.848000-6-1.735500-5-4.437500-9 125 6 2 34 + 2.194300-8 2.02820-11-2.82140-11-5.15680-16 3.74110-16-6.55910-19 125 6 2 35 + 2.55100-19 9.75220-23-1.54020-23 125 6 2 36 + 0.000000+0 7.000000+4 1 0 21 6 125 6 2 37 + 1.116000-2-6.54170-11 1.45790-15-5.33760-18 4.89800-18-1.48690-18 125 6 2 38 +-1.94290-18 2.571600-1 5.579900-3-1.173700-5-2.180700-5-2.908600-9 125 6 2 39 + 3.341300-8 2.78660-11-5.35300-11-9.01190-16 9.17370-16-1.40460-18 125 6 2 40 + 8.73660-19 2.53160-22-9.47000-23 125 6 2 41 + 0.000000+0 8.000000+4 1 0 21 6 125 6 2 42 + 1.633300-2 4.00010-10 3.25590-15 1.49450-17-1.30610-17 7.93020-18 125 6 2 43 +-3.33070-18 2.909700-1 8.166700-3-1.607600-5-2.612700-5 3.10910-10 125 6 2 44 + 4.704800-8 3.40740-11-9.00520-11-1.39500-15 1.87620-15-2.60560-18 125 6 2 45 + 2.23420-18 5.54600-22-3.19800-22 125 6 2 46 + 0.000000+0 9.000000+4 1 0 21 6 125 6 2 47 + 2.233400-2 1.401300-9 6.57960-15 1.92150-17-9.79610-18 1.38780-17 125 6 2 48 +-4.44090-18 3.207200-1 1.116700-2-2.075300-5-3.027200-5 5.385400-9 125 6 2 49 + 6.265800-8 3.73560-11-1.39320-10-1.96670-15 3.40390-15-4.34440-18 125 6 2 50 + 4.81650-18 1.07280-21-8.35550-22 125 6 2 51 + 0.000000+0 1.000000+5 1 0 21 6 125 6 2 52 + 2.904800-2 3.162300-9 1.22030-14 1.28100-17 9.79610-18 7.59970-18 125 6 2 53 + 1.11020-18 3.469000-1 1.452400-2-2.568100-5-3.422300-5 1.242000-8 125 6 2 54 + 8.007000-8 3.61070-11-2.02670-10-2.56540-15 5.66890-15-6.66280-18 125 6 2 55 + 9.24960-18 1.88570-21-1.86660-21 125 6 2 56 + 0.000000+0 1.200000+5 1 0 21 6 125 6 2 57 + 4.419000-2 9.925000-9 3.46740-14 4.27010-17-3.26540-17 4.29550-17 125 6 2 58 +-2.22040-17 3.903000-1 2.209500-2-3.604200-5-4.153800-5 3.260200-8 125 6 2 59 + 1.196700-7 1.35160-11-3.76170-10-3.54050-15 1.31440-14-1.28750-17 125 6 2 60 + 2.69880-17 4.68960-21-6.89990-21 125 6 2 61 + 0.000000+0 1.400000+5 1 0 21 6 125 6 2 62 + 6.101500-2 2.266700-8 8.20210-14 4.27010-17-6.53070-17 1.91650-17 125 6 2 63 + 7.77160-18 4.241900-1 3.050700-2-4.678300-5-4.810900-5 6.108100-8 125 6 2 64 + 1.647800-7-4.65860-11-6.18360-10-3.52110-15 2.58680-14-2.00110-17 125 6 2 65 + 6.38150-17 9.35290-21-1.96390-20 125 6 2 66 + 0.000000+0 1.600000+5 1 0 21 6 125 6 2 67 + 7.893800-2 4.336800-8 1.70370-13 8.54020-18-3.91840-17 5.02240-17 125 6 2 68 +-4.88500-17 4.507600-1 3.946900-2-5.768000-5-5.401400-5 9.784700-8 125 6 2 69 + 2.145300-7-1.56710-10-9.35450-10-1.41210-15 4.55340-14-2.50240-17 125 6 2 70 + 1.31000-16 1.55990-20-4.70250-20 125 6 2 71 + 0.000000+0 1.800000+5 1 0 21 6 125 6 2 72 + 9.751600-2 7.393400-8 3.20860-13 1.36640-16-6.53070-17 5.02240-17 125 6 2 73 +-1.55430-17 4.716500-1 4.875800-2-6.859100-5-5.933500-5 1.427700-7 125 6 2 74 + 2.682600-7-3.28890-10-1.332400-9 4.15900-15 7.39350-14-2.25480-17 125 6 2 75 + 2.42870-16 2.19000-20-9.95140-20 125 6 2 76 + 0.000000+0 2.000000+5 1 0 21 6 125 6 2 77 + 1.164100-1 1.161500-7 5.61300-13 1.19560-16-2.61230-17 5.28680-17 125 6 2 78 + 2.22040-18 4.880200-1 5.820500-2-7.942900-5-6.414600-5 1.956700-7 125 6 2 79 + 3.254200-7-5.74610-10-1.813500-9 1.48250-14 1.12940-13-4.43920-18 125 6 2 80 + 4.16980-16 2.47640-20-1.91900-19 125 6 2 81 + 0.000000+0 2.200000+5 1 0 21 6 125 6 2 82 + 1.353600-1 1.716400-7 9.24810-13 2.04960-16-1.04490-16 6.87280-17 125 6 2 83 +-5.77320-17 5.007700-1 6.768200-2-9.013900-5-6.851200-5 2.563400-7 125 6 2 84 + 3.855700-7-9.04880-10-2.382100-9 3.24620-14 1.64490-13 4.06590-17 125 6 2 85 + 6.74160-16 1.79090-20-3.44160-19 125 6 2 86 + 0.000000+0 2.400000+5 1 0 21 6 125 6 2 87 + 1.541900-1 2.419100-7 1.45110-12 2.04960-16-7.83690-17 7.93020-17 125 6 2 88 + 1.77640-17 5.105600-1 7.709300-2-1.006900-4-7.248900-5 3.245600-7 125 6 2 89 + 4.483700-7-1.330200-9-3.041100-9 5.91790-14 2.30550-13 1.27730-16 125 6 2 90 + 1.03870-15-8.67460-21-5.82330-19 125 6 2 91 + 0.000000+0 2.600000+5 1 0 21 6 125 6 2 92 + 1.727200-1 3.282600-7 2.18750-12 2.56210-16-2.08980-16 3.70070-17 125 6 2 93 + 9.77000-17 5.179200-1 8.636200-2-1.110500-4-7.612400-5 4.001100-7 125 6 2 94 + 5.135000-7-1.860700-9-3.793200-9 9.73020-14 3.13170-13 2.75740-16 125 6 2 95 + 1.53820-15-6.97620-20-9.39390-19 125 6 2 96 + 0.000000+0 2.800000+5 1 0 21 6 125 6 2 97 + 1.908700-1 4.318600-7 3.18720-12 2.73290-16-1.04490-16 1.05740-16 125 6 2 98 +-1.19900-16 5.232500-1 9.543500-2-1.212100-4-7.945700-5 4.827900-7 125 6 2 99 + 5.807300-7-2.505900-9-4.640500-9 1.49360-13 4.14400-13 5.08070-16 125 6 2 100 + 2.20390-15-1.86030-19-1.45620-18 125 6 2 101 + 0.000000+0 3.000000+5 1 0 21 6 125 6 2 102 + 2.085400-1 5.537300-7 4.51160-12 1.53720-16-2.08980-16 2.45840-16 125 6 2 103 +-6.21720-17 5.268800-1 1.042700-1-1.311700-4-8.252100-5 5.724000-7 125 6 2 104 + 6.498400-7-3.275300-9-5.585000-9 2.18090-13 5.36330-13 8.52790-16 125 6 2 105 + 3.07080-15-3.85270-19-2.18220-18 125 6 2 106 + 0.000000+0 3.200000+5 1 0 21 6 125 6 2 107 + 2.256700-1 6.947200-7 6.22890-12 2.73290-16-1.04490-16 1.53320-16 125 6 2 108 +-4.88500-17 5.290800-1 1.128300-1-1.409300-4-8.534600-5 6.687400-7 125 6 2 109 + 7.206400-7-4.177800-9-6.628200-9 3.06410-13 6.81080-13 1.34300-15 125 6 2 110 + 4.17710-15-7.03720-19-3.17690-18 125 6 2 111 + 0.000000+0 3.400000+5 1 0 21 6 125 6 2 112 + 2.422100-1 8.555600-7 8.41510-12 2.73290-16-1.04490-16 1.55960-16 125 6 2 113 + 0.000000+0 5.300700-1 1.211000-1-1.504800-4-8.795600-5 7.716300-7 125 6 2 114 + 7.929900-7-5.221900-9-7.771800-9 4.17410-13 8.50790-13 2.01730-15 125 6 2 115 + 5.56500-15-1.18740-18-4.51000-18 125 6 2 116 + 0.000000+0 3.600000+5 1 0 21 6 125 6 2 117 + 2.581300-1 1.036800-6 1.11540-11 2.39120-16 5.22460-17 5.55110-17 125 6 2 118 + 6.66130-17 5.300100-1 1.290700-1-1.598300-4-9.037200-5 8.809000-7 125 6 2 119 + 8.667400-7-6.416200-9-9.017100-9 5.54370-13 1.04760-12 2.91980-15 125 6 2 120 + 7.28030-15-1.89380-18-6.26310-18 125 6 2 121 + 0.000000+0 3.800000+5 1 0 21 6 125 6 2 122 + 2.734200-1 1.239000-6 1.45360-11 2.39120-16 0.000000+0 8.19450-17 125 6 2 123 +-1.06580-16 5.290700-1 1.367100-1-1.689700-4-9.261400-5 9.963900-7 125 6 2 124 + 9.417800-7-7.768500-9-1.036500-8 7.20730-13 1.27370-12 4.10060-15 125 6 2 125 + 9.37250-15-2.89300-18-8.53000-18 125 6 2 126 + 0.000000+0 4.000000+5 1 0 21 6 125 6 2 127 + 2.880500-1 1.462500-6 1.86610-11 2.73290-16-5.22460-17 3.17210-17 125 6 2 128 + 1.77640-17 5.273600-1 1.440300-1-1.779200-4-9.469800-5 1.117900-6 125 6 2 129 + 1.018000-6-9.286900-9-1.181700-8 9.20070-13 1.53130-12 5.61630-15 125 6 2 130 + 1.18950-14-4.26980-18-1.14180-17 125 6 2 131 + 0.000000+0 4.200000+5 1 0 21 6 125 6 2 132 + 3.020300-1 1.707500-6 2.36350-11 6.14890-16-3.13470-16 1.16310-16 125 6 2 133 +-1.33230-16 5.250000-1 1.510100-1-1.866800-4-9.663600-5 1.245400-6 125 6 2 134 + 1.095300-6-1.097900-8-1.337400-8 1.15620-12 1.82250-12 7.52980-15 125 6 2 135 + 1.49050-14-6.12500-18-1.50500-17 125 6 2 136 + 0.000000+0 4.400000+5 1 0 21 6 125 6 2 137 + 3.153500-1 1.974200-6 2.95740-11 4.78250-16-1.04490-16-3.17210-17 125 6 2 138 +-5.32910-17 5.220800-1 1.576700-1-1.952500-4-9.844300-5 1.378600-6 125 6 2 139 + 1.173600-6-1.285200-8-1.503600-8 1.43290-12 2.14960-12 9.91080-15 125 6 2 140 + 1.84620-14-8.57750-18-1.95610-17 125 6 2 141 + 0.000000+0 4.600000+5 1 0 21 6 125 6 2 142 + 3.280100-1 2.262600-6 3.65990-11 5.80730-16 5.22460-17 1.00450-16 125 6 2 143 +-8.88180-17 5.186800-1 1.640100-1-2.036400-4-1.001300-4 1.517500-6 125 6 2 144 + 1.252900-6-1.491200-8-1.680500-8 1.75430-12 2.51480-12 1.28360-14 125 6 2 145 + 2.26330-14-1.17660-17-2.51070-17 125 6 2 146 + 0.000000+0 4.800000+5 1 0 21 6 125 6 2 147 + 3.400400-1 2.572800-6 4.48400-11 7.51540-16-2.08980-16 1.42740-16 125 6 2 148 +-6.21720-17 5.148600-1 1.700200-1-2.118500-4-1.017000-4 1.661900-6 125 6 2 149 + 1.333000-6-1.716800-8-1.868200-8 2.12450-12 2.92030-12 1.63900-14 125 6 2 150 + 2.74850-14-1.58500-17-3.18570-17 125 6 2 151 + 0.000000+0 5.000000+5 1 0 21 6 125 6 2 152 + 3.514300-1 2.904700-6 5.44370-11 9.90660-16-1.56740-16 1.79750-16 125 6 2 153 +-5.32910-17 5.106900-1 1.757100-1-2.198900-4-1.031700-4 1.811700-6 125 6 2 154 + 1.413900-6-1.962600-8-2.066500-8 2.54790-12 3.36820-12 2.06650-14 125 6 2 155 + 3.30910-14-2.10150-17-4.00020-17 125 6 2 156 + 0.000000+0 5.500000+5 1 0 21 6 125 6 2 157 + 3.772300-1 3.828200-6 8.53340-11 1.77640-15-3.13470-16 3.70070-17 125 6 2 158 +-1.95400-16 4.990600-1 1.886100-1-2.392600-4-1.064500-4 2.209100-6 125 6 2 159 + 1.619400-6-2.669600-8-2.610000-8 3.86840-12 4.68880-12 3.51750-14 125 6 2 160 + 5.09130-14-4.00960-17-6.78810-17 125 6 2 161 + 0.000000+0 6.000000+5 1 0 21 6 125 6 2 162 + 3.994200-1 4.882800-6 1.28130-10 2.93780-15-3.65720-16 1.42740-16 125 6 2 163 +-5.32910-17 4.861900-1 1.997100-1-2.576500-4-1.092200-4 2.637800-6 125 6 2 164 + 1.828800-6-3.516800-8-3.222000-8 5.62190-12 6.32380-12 5.66110-14 125 6 2 165 + 7.52310-14-7.13900-17-1.09660-16 125 6 2 166 + 0.000000+0 6.500000+5 1 0 21 6 125 6 2 167 + 4.183000-1 6.063400-6 1.85610-10 4.95330-15-3.65720-16 1.63890-16 125 6 2 168 +-1.24340-16 4.725700-1 2.091500-1-2.751400-4-1.115800-4 3.096500-6 125 6 2 169 + 2.041600-6-4.513300-8-3.902900-8 7.88570-12 8.30810-12 8.70880-14 125 6 2 170 + 1.07500-13-1.20270-16-1.70070-16 125 6 2 171 + 0.000000+0 7.000000+5 1 0 21 6 125 6 2 172 + 4.341500-1 7.364000-6 2.60880-10 7.51540-15-8.35930-16 8.98750-17 125 6 2 173 +-2.13160-16 4.585500-1 2.170700-1-2.917700-4-1.135800-4 3.583700-6 125 6 2 174 + 2.257300-6-5.668200-8-4.653300-8 1.07410-11 1.06770-11 1.29080-13 125 6 2 175 + 1.49310-13-1.93640-16-2.54800-16 125 6 2 176 + 0.000000+0 7.500000+5 1 0 21 6 125 6 2 177 + 4.472900-1 8.777800-6 3.57320-10 1.18880-14-7.31440-16-1.05740-17 125 6 2 178 +-2.48690-16 4.443900-1 2.236400-1-3.076100-4-1.152600-4 4.098300-6 125 6 2 179 + 2.475500-6-6.989600-8-5.473500-8 1.42740-11 1.34640-11 1.85430-13 125 6 2 180 + 2.02440-13-3.00160-16-3.70640-16 125 6 2 181 + 0.000000+0 8.000000+5 1 0 21 6 125 6 2 182 + 4.580100-1 1.029800-5 4.78630-10 1.76950-14-6.79200-16 0.000000+0 125 6 2 183 +-8.88180-17 4.302900-1 2.290000-1-3.227100-4-1.166800-4 4.639200-6 125 6 2 184 + 2.695900-6-8.485700-8-6.363600-8 1.85720-11 1.67040-11 2.59380-13 125 6 2 185 + 2.68790-13-4.50510-16-5.25560-16 125 6 2 186 + 0.000000+0 8.500000+5 1 0 21 6 125 6 2 187 + 4.665600-1 1.191700-5 6.28750-10 2.61670-14-6.26950-16-1.26880-16 125 6 2 188 +-2.30930-16 4.163800-1 2.332800-1-3.371100-4-1.178600-4 5.205400-6 125 6 2 189 + 2.918100-6-1.016400-7-7.323800-8 2.37290-11 2.04330-11 3.54580-13 125 6 2 190 + 3.50420-13-6.57640-16-7.28790-16 125 6 2 191 + 0.000000+0 9.000000+5 1 0 21 6 125 6 2 192 + 4.732200-1 1.362900-5 8.11950-10 3.79180-14-8.35930-16-2.22040-16 125 6 2 193 +-3.19740-16 4.027700-1 2.366000-1-3.508400-4-1.188300-4 5.795800-6 125 6 2 194 + 3.142000-6-1.203200-7-8.354300-8 2.98390-11 2.46830-11 4.75120-13 125 6 2 195 + 4.49570-13-9.37060-16-9.90940-16 125 6 2 196 + 0.000000+0 9.500000+5 1 0 21 6 125 6 2 197 + 4.781900-1 1.542600-5 1.032700-9 5.33590-14-1.04490-15-2.53770-16 125 6 2 198 +-3.55270-16 3.895200-1 2.390900-1-3.639600-4-1.196100-4 6.409800-6 125 6 2 199 + 3.367300-6-1.409600-7-9.454900-8 3.70030-11 2.94900-11 6.25520-13 125 6 2 200 + 5.68610-13-1.30710-15-1.32410-15 125 6 2 201 + 0.000000+0 1.000000+6 1 0 21 6 125 6 2 202 + 4.817000-1 1.730200-5 1.295900-9 7.45390-14-8.88180-16-1.79750-16 125 6 2 203 +-4.26330-16 3.766900-1 2.408400-1-3.764800-4-1.202300-4 7.046400-6 125 6 2 204 + 3.593800-6-1.636300-7-1.062600-7 4.53200-11 3.48860-11 8.10760-13 125 6 2 205 + 7.10070-13-1.78920-15-1.74190-15 125 6 2 206 + 0.000000+0 1.100000+6 1 0 21 6 125 6 2 207 + 4.850300-1 2.126700-5 1.970000-9 1.37330-13-1.14940-15-5.23390-16 125 6 2 208 +-3.10860-16 3.523800-1 2.425100-1-3.998700-4-1.210100-4 8.384600-6 125 6 2 209 + 4.050000-6-2.153100-7-1.317700-7 6.58360-11 4.75810-11 1.30810-12 125 6 2 210 + 1.07120-12-3.19290-15-2.89440-15 125 6 2 211 + 0.000000+0 1.200000+6 1 0 21 6 125 6 2 212 + 4.844700-1 2.547900-5 2.877900-9 2.39400-13-1.61960-15-6.60850-16 125 6 2 213 +-5.06260-16 3.299500-1 2.422300-1-4.212400-4-1.213000-4 9.805100-6 125 6 2 214 + 4.509400-6-2.758400-7-1.600800-7 9.22470-11 6.30330-11 2.01680-12 125 6 2 215 + 1.55620-12-5.39410-15-4.59270-15 125 6 2 216 + 0.000000+0 1.300000+6 1 0 21 6 125 6 2 217 + 4.810100-1 2.990100-5 4.067300-9 3.98660-13-1.67190-15-6.92570-16 125 6 2 218 +-7.10540-16 3.093700-1 2.405000-1-4.407600-4-1.211600-4 1.130300-5 125 6 2 219 + 4.971100-6-3.456800-7-1.911700-7 1.25450-10 8.15000-11 2.99480-12 125 6 2 220 + 2.19100-12-8.70900-15-7.01210-15 125 6 2 221 + 0.000000+0 1.400000+6 1 0 21 6 125 6 2 222 + 4.754300-1 3.450000-5 5.589800-9 6.37850-13-1.98530-15-7.98300-16 125 6 2 223 +-5.86200-16 2.905500-1 2.377000-1-4.585800-4-1.206600-4 1.287400-5 125 6 2 224 + 5.434500-6-4.252200-7-2.250100-7 1.66380-10 1.03240-10 4.30850-12 125 6 2 225 + 3.00390-12-1.35350-14-1.03620-14 125 6 2 226 + 0.000000+0 1.500000+6 1 0 21 6 125 6 2 227 + 4.683100-1 3.924900-5 7.500900-9 9.85880-13-2.45560-15-6.60850-16 125 6 2 228 +-7.99360-16 2.733800-1 2.341400-1-4.748500-4-1.198500-4 1.451400-5 125 6 2 229 + 5.899000-6-5.148600-7-2.615800-7 2.15980-10 1.28490-10 6.03360-12 125 6 2 230 + 4.02560-12-2.03620-14-1.48900-14 125 6 2 231 + 0.000000+0 1.600000+6 1 0 21 6 125 6 2 232 + 4.601100-1 4.412400-5 9.859600-9 1.47990-12-2.40330-15-9.88630-16 125 6 2 233 +-9.23710-16 2.577100-1 2.300400-1-4.896700-4-1.187700-4 1.621900-5 125 6 2 234 + 6.364200-6-6.149500-7-3.008500-7 2.75230-10 1.57510-10 8.25510-12 125 6 2 235 + 5.28920-12-2.97840-14-2.08840-14 125 6 2 236 + 0.000000+0 1.700000+6 1 0 21 6 125 6 2 237 + 4.511800-1 4.910600-5 1.272800-8 2.16390-12-2.66450-15-1.02560-15 125 6 2 238 +-9.23710-16 2.434100-1 2.255700-1-5.031500-4-1.174600-4 1.798700-5 125 6 2 239 + 6.829500-6-7.258400-7-3.428000-7 3.45140-10 1.90530-10 1.10680-11 125 6 2 240 + 6.83050-12-4.25110-14-2.86740-14 125 6 2 241 + 0.000000+0 1.800000+6 1 0 21 6 125 6 2 242 + 4.417900-1 5.417900-5 1.617300-8 3.09410-12-3.34370-15-1.10490-15 125 6 2 243 +-1.15460-15 2.303500-1 2.208800-1-5.153800-4-1.159300-4 1.981400-5 125 6 2 244 + 7.294800-6-8.478300-7-3.873900-7 4.26720-10 2.27770-10 1.45760-11 125 6 2 245 + 8.68730-12-5.93860-14-3.86370-14 125 6 2 246 + 0.000000+0 1.900000+6 1 0 21 6 125 6 2 247 + 4.321400-1 5.932800-5 2.026300-8 4.33330-12-3.44820-15-1.34280-15 125 6 2 248 +-1.30560-15 2.184100-1 2.160500-1-5.264300-4-1.142200-4 2.169800-5 125 6 2 249 + 7.759600-6-9.812100-7-4.345800-7 5.21000-10 2.69470-10 1.88950-11 125 6 2 250 + 1.09000-11-8.13880-14-5.12000-14 125 6 2 251 + 0.000000+0 2.000000+6 1 0 21 6 125 6 2 252 + 4.223800-1 6.454300-5 2.506900-8 5.95980-12-4.02290-15-1.56490-15 125 6 2 253 +-1.31450-15 2.074700-1 2.111600-1-5.364000-4-1.123300-4 2.363500-5 125 6 2 254 + 8.223700-6-1.126300-6-4.843600-7 6.29030-10 3.15840-10 2.41500-11 125 6 2 255 + 1.35120-11-1.09660-13-6.68420-14 125 6 2 256 + 0.000000+0 2.100000+6 1 0 21 6 125 6 2 257 + 4.126200-1 6.981300-5 3.066700-8 8.06340-12-4.49310-15-1.65480-15 125 6 2 258 +-1.45660-15 1.974300-1 2.062800-1-5.453200-4-1.102900-4 2.562400-5 125 6 2 259 + 8.687000-6-1.283300-6-5.366700-7 7.51860-10 3.67100-10 3.04780-11 125 6 2 260 + 1.65670-11-1.45500-13-8.60970-14 125 6 2 261 + 0.000000+0 2.200000+6 1 0 21 6 125 6 2 262 + 4.029400-1 7.512900-5 3.713400-8 1.07490-11-5.22460-15-1.77640-15 125 6 2 263 +-1.68750-15 1.882000-1 2.014400-1-5.532800-4-1.081200-4 2.766200-5 125 6 2 264 + 9.149100-6-1.452400-6-5.914800-7 8.90560-10 4.23450-10 3.80270-11 125 6 2 265 + 2.01140-11-1.90410-13-1.09560-13 125 6 2 266 + 0.000000+0 2.300000+6 1 0 21 6 125 6 2 267 + 3.934100-1 8.048300-5 4.454900-8 1.41360-11-6.00830-15-1.83980-15 125 6 2 268 +-1.63420-15 1.797000-1 1.966700-1-5.603100-4-1.058100-4 2.974700-5 125 6 2 269 + 9.610100-6-1.634000-6-6.487500-7 1.046200-9 4.85080-10 4.69550-11 125 6 2 270 + 2.42020-11-2.46070-13-1.37870-13 125 6 2 271 + 0.000000+0 2.400000+6 1 0 21 6 125 6 2 272 + 3.840700-1 8.587000-5 5.299600-8 1.83610-11-7.00090-15-2.25220-15 125 6 2 273 +-1.42110-15 1.718600-1 1.919900-1-5.664800-4-1.033900-4 3.187800-5 125 6 2 274 + 1.007000-5-1.828200-6-7.084500-7 1.219800-9 5.52210-10 5.74330-11 125 6 2 275 + 2.88840-11-3.14390-13-1.71770-13 125 6 2 276 + 0.000000+0 2.500000+6 1 0 21 6 125 6 2 277 + 3.749500-1 9.128200-5 6.255900-8 2.35830-11-8.30710-15-2.31560-15 125 6 2 278 +-1.92730-15 1.646100-1 1.874300-1-5.718100-4-1.008700-4 3.405100-5 125 6 2 279 + 1.052800-5-2.035200-6-7.705300-7 1.412600-9 6.25010-10 6.96430-11 125 6 2 280 + 3.42120-11-3.97480-13-2.12020-13 125 6 2 281 + 0.000000+0 2.600000+6 1 0 21 6 125 6 2 282 + 3.660700-1 9.671600-5 7.332300-8 2.99740-11-1.00310-14-2.31030-15 125 6 2 283 +-1.97180-15 1.578900-1 1.829900-1-5.763700-4-9.824400-5 3.626600-5 125 6 2 284 + 1.098400-5-2.255200-6-8.349500-7 1.625500-9 7.03660-10 8.37790-11 125 6 2 285 + 4.02460-11-4.97730-13-2.59480-13 125 6 2 286 + 0.000000+0 2.700000+6 1 0 21 6 125 6 2 287 + 3.574400-1 1.021700-4 8.537900-8 3.77340-11-1.19640-14-2.40550-15 125 6 2 288 +-2.12270-15 1.516600-1 1.786700-1-5.801800-4-9.552800-5 3.852100-5 125 6 2 289 + 1.143900-5-2.488400-6-9.016700-7 1.859600-9 7.88340-10 1.00050-10 125 6 2 290 + 4.70420-11-6.17760-13-3.15080-13 125 6 2 291 + 0.000000+0 2.800000+6 1 0 21 6 125 6 2 292 + 3.490800-1 1.076300-4 9.881500-8 4.70810-11-1.43680-14-2.72800-15 125 6 2 293 +-2.31810-15 1.458700-1 1.744800-1-5.832800-4-9.272900-5 4.081400-5 125 6 2 294 + 1.189200-5-2.735000-6-9.706400-7 2.116100-9 8.79210-10 1.18670-10 125 6 2 295 + 5.46620-11-7.60460-13-3.79810-13 125 6 2 296 + 0.000000+0 2.900000+6 1 0 21 6 125 6 2 297 + 3.409800-1 1.131000-4 1.137200-7 5.82610-11-1.76590-14-2.90240-15 125 6 2 298 +-2.46910-15 1.404700-1 1.704300-1-5.857000-4-8.985100-5 4.314300-5 125 6 2 299 + 1.234300-5-2.995000-6-1.041800-6 2.395900-9 9.76450-10 1.39870-10 125 6 2 300 + 6.31700-11-9.29030-13-4.54760-13 125 6 2 301 + 0.000000+0 3.000000+6 1 0 21 6 125 6 2 302 + 3.331500-1 1.185800-4 1.302000-7 7.15430-11-2.17860-14-2.94470-15 125 6 2 303 +-2.39810-15 1.354300-1 1.665100-1-5.874800-4-8.690000-5 4.550700-5 125 6 2 304 + 1.279200-5-3.268700-6-1.115200-6 2.700200-9 1.080200-9 1.63900-10 125 6 2 305 + 7.26310-11-1.12700-12-5.41070-13 125 6 2 306 + 0.000000+0 3.200000+6 1 0 21 6 125 6 2 307 + 3.182600-1 1.295300-4 1.682300-7 1.05630-10-3.30720-14-3.27780-15 125 6 2 308 +-2.68230-15 1.263200-1 1.590600-1-5.892100-4-8.080100-5 5.033600-5 125 6 2 309 + 1.368400-5-3.857500-6-1.268300-6 3.386400-9 1.307800-9 2.21480-10 125 6 2 310 + 9.46850-11-1.62650-12-7.52850-13 125 6 2 311 + 0.000000+0 3.400000+6 1 0 21 6 125 6 2 312 + 3.043700-1 1.404700-4 2.136700-7 1.52070-10-5.02600-14-3.44170-15 125 6 2 313 +-2.86880-15 1.183000-1 1.521000-1-5.886800-4-7.446500-5 5.528900-5 125 6 2 314 + 1.456700-5-4.502500-6-1.429500-6 4.183100-9 1.563200-9 2.93620-10 125 6 2 315 + 1.21390-10-2.29370-12-1.02610-12 125 6 2 316 + 0.000000+0 3.600000+6 1 0 21 6 125 6 2 317 + 2.914200-1 1.513800-4 2.673200-7 2.14110-10-7.60700-14-3.87260-15 125 6 2 318 +-3.14420-15 1.112100-1 1.456200-1-5.860800-4-6.792400-5 6.035800-5 125 6 2 319 + 1.544200-5-5.204300-6-1.598600-6 5.098400-9 1.847500-9 3.82740-10 125 6 2 320 + 1.53340-10-3.16910-12-1.37330-12 125 6 2 321 + 0.000000+0 3.800000+6 1 0 21 6 125 6 2 322 + 2.793400-1 1.622300-4 3.299600-7 2.95540-10-1.13740-13-4.12900-15 125 6 2 323 +-3.34840-15 1.049100-1 1.395700-1-5.815700-4-6.120200-5 6.553200-5 125 6 2 324 + 1.630700-5-5.963800-6-1.775100-6 6.140500-9 2.161400-9 4.91480-10 125 6 2 325 + 1.91180-10-4.29980-12-1.80820-12 125 6 2 326 + 0.000000+0 4.000000+6 1 0 21 6 125 6 2 327 + 2.680800-1 1.730200-4 4.024000-7 4.00760-10-1.68230-13-4.41450-15 125 6 2 328 +-3.58820-15 9.926300-2 1.339300-1-5.753000-4-5.432100-5 7.080300-5 125 6 2 329 + 1.716400-5-6.781500-6-1.958700-6 7.317100-9 2.505900-9 6.22680-10 125 6 2 330 + 2.35570-10-5.73980-12-2.34660-12 125 6 2 331 + 0.000000+0 4.200000+6 1 0 21 6 125 6 2 332 + 2.575700-1 1.837300-4 4.854600-7 5.34810-10-2.44460-13-4.76340-15 125 6 2 333 +-3.85910-15 9.419200-2 1.286600-1-5.674100-4-4.730200-5 7.616500-5 125 6 2 334 + 1.801000-5-7.657900-6-2.149100-6 8.635800-9 2.881600-9 7.79440-10 125 6 2 335 + 2.87200-10-7.55070-12-3.00540-12 125 6 2 336 + 0.000000+0 4.400000+6 1 0 21 6 125 6 2 337 + 2.477400-1 1.943500-4 5.799300-7 7.03430-10-3.50990-13-4.96430-15 125 6 2 338 +-4.00570-15 8.961300-2 1.237400-1-5.580100-4-4.016100-5 8.161000-5 125 6 2 339 + 1.884800-5-8.593400-6-2.345800-6 1.010400-8 3.289300-9 9.65050-10 125 6 2 340 + 3.46800-10-9.80210-12-3.80390-12 125 6 2 341 + 0.000000+0 4.600000+6 1 0 21 6 125 6 2 342 + 2.385500-1 2.048600-4 6.866200-7 9.13120-10-4.96280-13-5.24710-15 125 6 2 343 +-4.27660-15 8.546000-2 1.191300-1-5.472300-4-3.291400-5 8.713100-5 125 6 2 344 + 1.967500-5-9.588300-6-2.548600-6 1.172900-8 3.729500-9 1.183000-9 125 6 2 345 + 4.15130-10-1.25720-11-4.76260-12 125 6 2 346 + 0.000000+0 4.800000+6 1 0 21 6 125 6 2 347 + 2.299300-1 2.152700-4 8.063300-7 1.171100-9-6.92180-13-5.49300-15 125 6 2 348 +-4.50310-15 8.167800-2 1.148100-1-5.351500-4-2.557400-5 9.272200-5 125 6 2 349 + 2.049400-5-1.064300-5-2.757100-6 1.351600-8 4.202600-9 1.437200-9 125 6 2 350 + 4.92970-10-1.59490-11-5.90440-12 125 6 2 351 + 0.000000+0 5.000000+6 1 0 21 6 125 6 2 352 + 2.218400-1 2.255500-4 9.398500-7 1.485500-9-9.52860-13-5.76790-15 125 6 2 353 +-4.75620-15 7.822300-2 1.107500-1-5.218700-4-1.815300-5 9.837800-5 125 6 2 354 + 2.130200-5-1.175700-5-2.971000-6 1.547400-8 4.709100-9 1.731400-9 125 6 2 355 + 5.81140-10-2.00300-11-7.25390-12 125 6 2 356 + 0.000000+0 5.500000+6 1 0 21 6 125 6 2 357 + 2.036800-1 2.506900-4 1.339100-6 2.579500-9-2.00990-12-6.38910-15 125 6 2 358 +-5.37350-15 7.076500-2 1.016400-1-4.839800-4 6.785600-7 1.127600-4 125 6 2 359 + 2.328100-5-1.480500-5-3.526800-6 2.114700-8 6.122400-9 2.670900-9 125 6 2 360 + 8.52360-10-3.40450-11-1.17160-11 125 6 2 361 + 0.000000+0 6.000000+6 1 0 21 6 125 6 2 362 + 1.880000-1 2.749300-4 1.841200-6 4.250100-9-3.96850-12-6.69830-15 125 6 2 363 +-5.89310-15 6.464300-2 9.377000-2-4.402900-4 1.979600-5 1.274300-4 125 6 2 364 + 2.520100-5-1.822600-5-4.108800-6 2.800100-8 7.747500-9 3.960400-9 125 6 2 365 + 1.207400-9-5.51590-11-1.81250-11 125 6 2 366 + 0.000000+0 6.500000+6 1 0 21 6 125 6 2 367 + 1.743700-1 2.982000-4 2.457000-6 6.701600-9-7.40420-12-6.62700-15 125 6 2 368 +-6.50150-15 5.953200-2 8.691700-2-3.917700-4 3.908100-5 1.423200-4 125 6 2 369 + 2.706200-5-2.201600-5-4.711800-6 3.610100-8 9.583000-9 5.681500-9 125 6 2 370 + 1.661100-9-8.58490-11-2.70430-11 125 6 2 371 + 0.000000+0 7.000000+6 1 0 21 6 125 6 2 372 + 1.624100-1 3.204500-4 3.196500-6 1.018000-8-1.31590-11-5.92910-15 125 6 2 373 +-7.01660-15 5.520300-2 8.090400-2-3.392600-4 5.843600-5 1.573700-4 125 6 2 374 + 2.886500-5-2.617200-5-5.331300-6 4.550000-8 1.162500-8 7.924700-9 125 6 2 375 + 2.229400-9-1.29140-10-3.91260-11 125 6 2 376 + 0.000000+0 7.500000+6 1 0 21 6 125 6 2 377 + 1.518500-1 3.416500-4 4.068500-6 1.497600-8-2.24210-11-3.84880-15 125 6 2 378 +-7.55400-15 5.149200-2 7.559100-2-2.834600-4 7.778000-5 1.725200-4 125 6 2 379 + 3.061300-5-3.068500-5-5.962500-6 5.623100-8 1.386600-8 1.079000-8 125 6 2 380 + 2.929000-9-1.88630-10-5.51300-11 125 6 2 381 + 0.000000+0 8.000000+6 1 0 21 6 125 6 2 382 + 1.424800-1 3.618000-4 5.080700-6 2.142500-8-3.68260-11 4.89030-16 125 6 2 383 +-8.11350-15 4.827400-2 7.086600-2-2.249700-4 9.704900-5 1.877300-4 125 6 2 384 + 3.230600-5-3.554800-5-6.601300-6 6.830800-8 1.629600-8 1.438500-8 125 6 2 385 + 3.777400-9-2.68610-10-7.59120-11 125 6 2 386 + 0.000000+0 8.500000+6 1 0 21 6 125 6 2 387 + 1.341000-1 3.808900-4 6.239300-6 2.991000-8-5.85610-11 8.48790-15 125 6 2 388 +-8.65530-15 4.545700-2 6.664000-2-1.643400-4 1.161900-4 2.029600-4 125 6 2 389 + 3.394800-5-4.075000-5-7.243600-6 8.172700-8 1.890300-8 1.882900-8 125 6 2 390 + 4.793000-9-3.74030-10-1.02440-10 125 6 2 391 + 0.000000+0 9.000000+6 1 0 21 6 125 6 2 392 + 1.265700-1 3.989300-4 7.549200-6 4.086000-8-9.04980-11 2.24640-14 125 6 2 393 +-9.21260-15 4.297000-2 6.283900-2-1.020100-4 1.351500-4 2.181600-4 125 6 2 394 + 3.553800-5-4.628000-5-7.885700-6 9.646400-8 2.167100-8 2.424800-8 125 6 2 395 + 5.994700-9-5.10630-10-1.35780-10 125 6 2 396 + 0.000000+0 9.500000+6 1 0 21 6 125 6 2 397 + 1.197800-1 4.159600-4 9.014100-6 5.475300-8-1.36330-10 4.55670-14 125 6 2 398 +-9.74550-15 4.075800-2 5.940300-2-3.839600-5 1.539000-4 2.333100-4 125 6 2 399 + 3.708000-5-5.212700-5-8.524200-6 1.124800-7 2.458400-8 3.077600-8 125 6 2 400 + 7.402300-9-6.84940-10-1.77130-10 125 6 2 401 + 0.000000+0 1.000000+7 1 0 21 6 125 6 2 402 + 1.136100-1 4.319900-4 1.063600-5 7.211100-8-2.00710-10 8.25620-14 125 6 2 403 +-1.02610-14 3.877700-2 5.628400-2 2.614500-5 1.724000-4 2.483700-4 125 6 2 404 + 3.857400-5-5.827800-5-9.155700-6 1.297100-7 2.762200-8 3.855800-8 125 6 2 405 + 9.036100-9-9.04350-10-2.27810-10 125 6 2 406 + 0.000000+0 1.050000+7 1 0 21 6 125 6 2 407 + 1.080000-1 4.470700-4 1.241500-5 9.350000-8-2.89440-10 1.40100-13 125 6 2 408 +-1.08270-14 3.699300-2 5.344000-2 9.129400-5 1.906300-4 2.633200-4 125 6 2 409 + 4.002300-5-6.471800-5-9.777400-6 1.480600-7 3.076300-8 4.774500-8 125 6 2 410 + 1.091700-8-1.177200-9-2.89220-10 125 6 2 411 + 0.000000+0 1.100000+7 1 0 21 6 125 6 2 412 + 1.028700-1 4.612300-4 1.435200-5 1.195300-7-4.09650-10 2.27440-13 125 6 2 413 +-1.13380-14 3.537600-2 5.083800-2 1.567700-4 2.085800-4 2.781300-4 125 6 2 414 + 4.142900-5-7.143300-5-1.038600-5 1.674500-7 3.398400-8 5.849600-8 125 6 2 415 + 1.306600-8-1.512700-9-3.62940-10 125 6 2 416 + 0.000000+0 1.150000+7 1 0 21 6 125 6 2 417 + 9.817000-2 4.745300-4 1.644300-5 1.508500-7-5.69960-10 3.57180-13 125 6 2 418 +-1.17790-14 3.390400-2 4.844700-2 2.223300-4 2.262100-4 2.927800-4 125 6 2 419 + 4.279200-5-7.840800-5-1.098000-5 1.877500-7 3.726000-8 7.097900-8 125 6 2 420 + 1.550500-8-1.921100-9-4.50620-10 125 6 2 421 + 0.000000+0 1.200000+7 1 0 21 6 125 6 2 422 + 9.384100-2 4.870000-4 1.868600-5 1.881300-7-7.80690-10 5.46320-13 125 6 2 423 +-1.22150-14 3.255800-2 4.624500-2 2.877400-4 2.435200-4 3.072500-4 125 6 2 424 + 4.411500-5-8.562800-5-1.155700-5 2.088300-7 4.056400-8 8.536900-8 125 6 2 425 + 1.825700-8-2.413800-9-5.54080-10 125 6 2 426 + 0.000000+0 1.250000+7 1 0 21 6 125 6 2 427 + 8.984600-2 4.987000-4 2.107500-5 2.321000-7-1.054100-9 8.17240-13 125 6 2 428 +-1.25790-14 3.132200-2 4.420800-2 3.528000-4 2.605000-4 3.215200-4 125 6 2 429 + 4.540000-5-9.307600-5-1.211400-5 2.305100-7 4.386800-8 1.018500-7 125 6 2 430 + 2.134400-8-3.003100-9-6.75240-10 125 6 2 431 + 0.000000+0 1.300000+7 1 0 21 6 125 6 2 432 + 8.614800-2 5.096800-4 2.360500-5 2.834900-7-1.404400-9 1.19930-12 125 6 2 433 +-1.28210-14 3.018200-2 4.232100-2 4.173400-4 2.771300-4 3.355800-4 125 6 2 434 + 4.664600-5-1.007300-4-1.265000-5 2.526300-7 4.714300-8 1.206000-7 125 6 2 435 + 2.479000-8-3.702500-9-8.16150-10 125 6 2 436 + 0.000000+0 1.350000+7 1 0 21 6 125 6 2 437 + 8.271600-2 5.199700-4 2.626900-5 3.430600-7-1.848500-9 1.73030-12 125 6 2 438 +-1.29010-14 2.912800-2 4.056700-2 4.812000-4 2.934200-4 3.494100-4 125 6 2 439 + 4.785700-5-1.085900-4-1.316200-5 2.750000-7 5.035700-8 1.418300-7 125 6 2 440 + 2.861700-8-4.526800-9-9.79010-10 125 6 2 441 + 0.000000+0 1.400000+7 1 0 21 6 125 6 2 442 + 7.952400-2 5.296300-4 2.905800-5 4.115900-7-2.405400-9 2.45880-12 125 6 2 443 +-1.27590-14 2.815000-2 3.893200-2 5.442300-4 3.093500-4 3.630000-4 125 6 2 444 + 4.903200-5-1.166200-4-1.365000-5 2.974000-7 5.347800-8 1.657300-7 125 6 2 445 + 3.284900-8-5.491700-9-1.166100-9 125 6 2 446 + 0.000000+0 1.450000+7 1 0 21 6 125 6 2 447 + 7.654700-2 5.387000-4 3.196400-5 4.898600-7-3.097100-9 3.44570-12 125 6 2 448 +-1.21990-14 2.723900-2 3.740600-2 6.063200-4 3.249200-4 3.763400-4 125 6 2 449 + 5.017400-5-1.248100-4-1.411200-5 3.196000-7 5.647400-8 1.925100-7 125 6 2 450 + 3.751000-8-6.614300-9-1.379900-9 125 6 2 451 + 0.000000+0 1.500000+7 1 0 21 6 125 6 2 452 + 7.376500-2 5.472300-4 3.497700-5 5.786600-7-3.948600-9 4.76760-12 125 6 2 453 +-1.12420-14 2.638900-2 3.597700-2 6.673400-4 3.401400-4 3.894100-4 125 6 2 454 + 5.128300-5-1.331500-4-1.454600-5 3.413700-7 5.931100-8 2.223900-7 125 6 2 455 + 4.262400-8-7.913000-9-1.623000-9 125 6 2 456 + 0.000000+0 1.550000+7 1 0 21 6 125 6 2 457 + 7.116000-2 5.552400-4 3.808500-5 6.787700-7-4.987900-9 6.51950-12 125 6 2 458 +-9.55900-15 2.559400-2 3.463700-2 7.272100-4 3.550000-4 4.022200-4 125 6 2 459 + 5.236100-5-1.416100-4-1.495200-5 3.624400-7 6.195300-8 2.555700-7 125 6 2 460 + 4.821600-8-9.407300-9-1.898100-9 125 6 2 461 + 0.000000+0 1.600000+7 1 0 21 6 125 6 2 462 + 6.871600-2 5.627900-4 4.127800-5 7.909600-7-6.246500-9 8.81820-12 125 6 2 463 +-6.95670-15 2.484800-2 3.337700-2 7.858200-4 3.695000-4 4.147400-4 125 6 2 464 + 5.340700-5-1.501800-4-1.532800-5 3.825400-7 6.436600-8 2.922900-7 125 6 2 465 + 5.431000-8-1.111800-8-2.208000-9 125 6 2 466 + 0.000000+0 1.700000+7 1 0 21 6 125 6 2 467 + 6.425700-2 5.766300-4 4.786900-5 1.054600-6-9.564600-9 1.56570-11 125 6 2 468 + 2.33150-15 2.348500-2 3.107300-2 8.990100-4 3.974200-4 4.389400-4 125 6 2 469 + 5.541300-5-1.675700-4-1.598700-5 4.186600-7 6.835900-8 3.772300-7 125 6 2 470 + 6.810300-8-1.528000-8-2.944100-9 125 6 2 471 + 0.000000+0 1.800000+7 1 0 21 6 125 6 2 472 + 6.029100-2 5.889700-4 5.464900-5 1.375300-6-1.422800-8 2.68180-11 125 6 2 473 + 2.04840-14 2.227100-2 2.901700-2 1.006400-3 4.239300-4 4.619500-4 125 6 2 474 + 5.730600-5-1.851800-4-1.651800-5 4.472700-7 7.099600-8 4.790700-7 125 6 2 475 + 8.420300-8-2.059400-8-3.856500-9 125 6 2 476 + 0.000000+0 1.900000+7 1 0 21 6 125 6 2 477 + 5.674400-2 6.000100-4 6.151100-5 1.758200-6-2.062300-8 4.44920-11 125 6 2 478 + 5.36060-14 2.118200-2 2.717200-2 1.107600-3 4.490500-4 4.837600-4 125 6 2 479 + 5.909100-5-2.028800-4-1.691400-5 4.657000-7 7.197800-8 5.997300-7 125 6 2 480 + 1.028100-7-2.727400-8-4.972300-9 125 6 2 481 + 0.000000+0 2.000000+7 1 0 21 6 125 6 2 482 + 5.355400-2 6.099300-4 6.834600-5 2.207600-6-2.920400-8 7.17370-11 125 6 2 483 + 1.11330-13 2.019700-2 2.550700-2 1.202400-3 4.728200-4 5.043400-4 125 6 2 484 + 6.077300-5-2.205200-4-1.717200-5 4.711400-7 7.100400-8 7.411400-7 125 6 2 485 + 1.241200-7-3.556100-8-6.320400-9 125 6 2 486 + 0.000000+0 2.100000+7 1 0 21 6 125 6 2 487 + 5.067100-2 6.188200-4 7.504600-5 2.726700-6-4.049100-8 1.12720-10 125 6 2 488 + 2.08310-13 1.930300-2 2.399600-2 1.290500-3 4.952600-4 5.236800-4 125 6 2 489 + 6.235600-5-2.379800-4-1.728600-5 4.606000-7 6.777300-8 9.053000-7 125 6 2 490 + 1.483500-7-4.571500-8-7.931700-9 125 6 2 491 + 0.000000+0 2.200000+7 1 0 21 6 125 6 2 492 + 4.805400-2 6.267700-4 8.150800-5 3.317800-6-5.506900-8 1.73040-10 125 6 2 493 + 3.66330-13 1.848600-2 2.262000-2 1.371900-3 5.164200-4 5.418000-4 125 6 2 494 + 6.384200-5-2.551300-4-1.725500-5 4.309900-7 6.198700-8 1.094200-6 125 6 2 495 + 1.756900-7-5.802000-8-9.838700-9 125 6 2 496 + 0.000000+0 2.300000+7 1 0 21 6 125 6 2 497 + 4.566900-2 6.338400-4 8.763000-5 3.981600-6-7.358700-8 2.60050-10 125 6 2 498 + 6.17080-13 1.773600-2 2.136100-2 1.446600-3 5.363500-4 5.586800-4 125 6 2 499 + 6.523500-5-2.718500-4-1.707600-5 3.791000-7 5.335200-8 1.309800-6 125 6 2 500 + 2.063400-7-7.278300-8-1.207500-8 125 6 2 501 + 0.000000+0 2.400000+7 1 0 21 6 125 6 2 502 + 4.348800-2 6.400500-4 9.332200-5 4.717500-6-9.674900-8 3.83260-10 125 6 2 503 + 1.00570-12 1.704400-2 2.020600-2 1.514600-3 5.550900-4 5.743500-4 125 6 2 504 + 6.653500-5-2.880200-4-1.674600-5 3.016600-7 4.158100-8 1.554100-6 125 6 2 505 + 2.405100-7-9.033200-8-1.467700-8 125 6 2 506 + 0.000000+0 2.500000+7 1 0 21 6 125 6 2 507 + 4.148500-2 6.454000-4 9.850000-5 5.523600-6-1.253100-7 5.54840-10 125 6 2 508 + 1.59570-12 1.640400-2 1.914200-2 1.575900-3 5.726900-4 5.888200-4 125 6 2 509 + 6.774500-5-3.035300-4-1.626500-5 1.953300-7 2.639400-8 1.829100-6 125 6 2 510 + 2.784000-7-1.110200-7-1.768200-8 125 6 2 511 + 0.000000+0 2.600000+7 1 0 21 6 125 6 2 512 + 3.964200-2 6.499100-4 1.030900-4 6.396400-6-1.600500-7 7.90080-10 125 6 2 513 + 2.47400-12 1.581000-2 1.815900-2 1.630800-3 5.892100-4 6.021300-4 125 6 2 514 + 6.886600-5-3.182900-4-1.563100-5 5.676600-8 7.525500-9 2.136800-6 125 6 2 515 + 3.202100-7-1.352100-7-2.112700-8 125 6 2 516 + 0.000000+0 2.700000+7 1 0 21 6 125 6 2 517 + 3.794000-2 6.535400-4 1.070300-4 7.330900-6-2.018000-7 1.108000-9 125 6 2 518 + 3.75910-12 1.525500-2 1.724900-2 1.679200-3 6.047000-4 6.142800-4 125 6 2 519 + 6.989900-5-3.321900-4-1.484400-5-1.174100-7-1.528200-8 2.478900-6 125 6 2 520 + 3.661300-7-1.633100-7-2.505200-8 125 6 2 521 + 0.000000+0 2.800000+7 1 0 21 6 125 6 2 522 + 3.636500-2 6.563000-4 1.102800-4 8.320800-6-2.513700-7 1.532000-9 125 6 2 523 + 5.60890-12 1.473700-2 1.640300-2 1.721500-3 6.192100-4 6.253100-4 125 6 2 524 + 7.084500-5-3.451600-4-1.390500-5-3.305500-7-4.227200-8 2.857400-6 125 6 2 525 + 4.163700-7-1.957100-7-2.949700-8 125 6 2 526 + 0.000000+0 2.900000+7 1 0 21 6 125 6 2 527 + 3.490300-2 6.581600-4 1.127900-4 9.358400-6-3.095700-7 2.090500-9 125 6 2 528 + 8.23200-12 1.425100-2 1.561600-2 1.757700-3 6.327900-4 6.352600-4 125 6 2 529 + 7.170500-5-3.571000-4-1.281500-5-5.859700-7-7.367200-8 3.273900-6 125 6 2 530 + 4.711200-7-2.328600-7-3.450400-8 125 6 2 531 + 0.000000+0 3.000000+7 1 0 21 6 125 6 2 532 + 3.354500-2 6.591200-4 1.145400-4 1.043500-5-3.771800-7 2.817600-9 125 6 2 533 + 1.19000-11 1.379400-2 1.488200-2 1.788300-3 6.455200-4 6.441600-4 125 6 2 534 + 7.247900-5-3.679500-4-1.157600-5-8.869500-7-1.096900-7 3.730300-6 125 6 2 535 + 5.305700-7-2.752100-7-4.011400-8 125 6 2 536 + 0.000000+0 3.200000+7 1 0 21 6 125 6 2 537 + 3.109900-2 6.583100-4 1.157400-4 1.266500-5-5.434300-7 4.947800-9 125 6 2 538 + 2.38660-11 1.295600-2 1.355400-2 1.832900-3 6.686100-4 6.589200-4 125 6 2 539 + 7.377600-5-3.861000-4-8.665000-6-1.638200-6-1.963600-7 4.768800-6 125 6 2 540 + 6.643400-7-3.773400-7-5.331200-8 125 6 2 541 + 0.000000+0 3.400000+7 1 0 21 6 125 6 2 542 + 2.896300-2 6.539300-4 1.139400-4 1.492400-5-7.548200-7 8.341800-9 125 6 2 543 + 4.55810-11 1.220500-2 1.238600-2 1.857400-3 6.889300-4 6.699100-4 125 6 2 544 + 7.474400-5-3.991700-4-5.207600-6-2.608700-6-3.036200-7 5.984400-6 125 6 2 545 + 8.191500-7-5.060200-7-6.943500-8 125 6 2 546 + 0.000000+0 3.600000+7 1 0 21 6 125 6 2 547 + 2.708800-2 6.462100-4 1.093800-4 1.711900-5-1.013900-6 1.356300-8 125 6 2 548 + 8.33800-11 1.152600-2 1.135400-2 1.863900-3 7.069400-4 6.774100-4 125 6 2 549 + 7.539200-5-4.068400-4-1.255200-6-3.820600-6-4.324700-7 7.387000-6 125 6 2 550 + 9.964500-7-6.653200-7-8.882400-8 125 6 2 551 + 0.000000+0 3.800000+7 1 0 21 6 125 6 2 552 + 2.543400-2 6.355200-4 1.024900-4 1.915900-5-1.320300-6 2.134900-8 125 6 2 553 + 1.46780-10 1.091000-2 1.043700-2 1.854200-3 7.230500-4 6.817300-4 125 6 2 554 + 7.573100-5-4.088800-4 3.125600-6-5.294000-6-5.836000-7 8.984400-6 125 6 2 555 + 1.197600-6-8.594800-7-1.118100-7 125 6 2 556 + 0.000000+0 4.000000+7 1 0 21 6 125 6 2 557 + 2.396900-2 6.223500-4 9.380500-5 2.096200-5-1.669700-6 3.263400-8 125 6 2 558 + 2.49610-10 1.034700-2 9.619500-3 1.830600-3 7.376400-4 6.831600-4 125 6 2 559 + 7.577600-5-4.051600-4 7.854200-6-7.045700-6-7.573200-7 1.078200-5 125 6 2 560 + 1.423700-6-1.092800-6-1.387300-7 125 6 2 561 + 0.000000+0 4.200000+7 1 0 21 6 125 6 2 562 + 2.266700-2 6.073200-4 8.394500-5 2.246000-5-2.053500-6 4.857700-8 125 6 2 563 + 4.11450-10 9.830900-3 8.888200-3 1.794900-3 7.510500-4 6.819900-4 125 6 2 564 + 7.554200-5-3.956300-4 1.283900-5-9.089600-6-9.535700-7 1.278300-5 125 6 2 565 + 1.676000-6-1.369700-6-1.698800-7 125 6 2 566 + 0.000000+0 4.400000+7 1 0 21 6 125 6 2 567 + 2.150700-2 5.910900-4 7.359600-5 2.360900-5-2.457700-6 7.057600-8 125 6 2 568 + 6.59230-10 9.355200-3 8.232100-3 1.749000-3 7.635500-4 6.785000-4 125 6 2 569 + 7.504600-5-3.803200-4 1.798100-5-1.143600-5-1.171900-6 1.498700-5 125 6 2 570 + 1.955400-6-1.694400-6-2.055600-7 125 6 2 571 + 0.000000+0 4.600000+7 1 0 21 6 125 6 2 572 + 2.047000-2 5.743500-4 6.345600-5 2.438900-5-2.862700-6 1.002800-7 125 6 2 573 + 1.029200-9 8.915600-3 7.642200-3 1.694600-3 7.753800-4 6.729300-4 125 6 2 574 + 7.430800-5-3.593500-4 2.317800-5-1.409100-5-1.411600-6 1.739300-5 125 6 2 575 + 2.262500-6-2.071200-6-2.460100-7 125 6 2 576 + 0.000000+0 4.800000+7 1 0 21 6 125 6 2 577 + 1.954100-2 5.577800-4 5.419800-5 2.480900-5-3.243400-6 1.396000-7 125 6 2 578 + 1.568900-9 8.508500-3 7.110700-3 1.633300-3 7.866800-4 6.655500-4 125 6 2 579 + 7.334600-5-3.328600-4 2.832900-5-1.705900-5-1.671400-6 1.999500-5 125 6 2 580 + 2.597900-6-2.504100-6-2.914700-7 125 6 2 581 + 0.000000+0 5.000000+7 1 0 21 6 125 6 2 582 + 1.870500-2 5.420000-4 4.644100-5 2.490600-5-3.569000-6 1.906800-7 125 6 2 583 + 2.339500-9 8.130500-3 6.631200-3 1.566600-3 7.975700-4 6.565600-4 125 6 2 584 + 7.218300-5-3.010900-4 3.334000-5-2.033700-5-1.949700-6 2.278400-5 125 6 2 585 + 2.961800-6-2.996800-6-3.421100-7 125 6 2 586 + 0.000000+0 5.500000+7 1 0 21 6 125 6 2 587 + 1.695000-2 5.094000-4 3.688400-5 2.424000-5-3.896000-6 3.858600-7 125 6 2 588 + 5.828400-9 7.296600-3 5.623700-3 1.385500-3 8.232200-4 6.284600-4 125 6 2 589 + 6.852700-5-2.003400-4 4.473100-5-2.985100-5-2.713900-6 3.050200-5 125 6 2 590 + 3.993300-6-4.512500-6-4.922600-7 125 6 2 591 + 0.000000+0 6.000000+7 1 0 21 6 125 6 2 592 + 1.556000-2 4.907800-4 4.511000-5 2.371800-5-2.988500-6 7.108900-7 125 6 2 593 + 1.304100-8 6.596200-3 4.835700-3 1.198100-3 8.462600-4 5.945300-4 125 6 2 594 + 6.406700-5-7.352600-5 5.388200-5-4.108300-5-3.544200-6 3.907100-5 125 6 2 595 + 5.184500-6-6.465700-6-6.764400-7 125 6 2 596 + 0.000000+0 6.500000+7 1 0 21 6 125 6 2 597 + 1.442900-2 4.879900-4 7.166100-5 2.554400-5-1.628400-7 1.207400-6 125 6 2 598 + 2.661300-8 6.004500-3 4.214600-3 1.019500-3 8.655300-4 5.571000-4 125 6 2 599 + 5.910900-5 7.271800-5 6.067200-5-5.370800-5-4.394700-6 4.814600-5 125 6 2 600 + 6.499100-6-8.877600-6-8.932300-7 125 6 2 601 + 0.000000+0 7.000000+7 1 0 21 6 125 6 2 602 + 1.348500-2 4.994600-4 1.127300-4 3.180300-5 5.111000-6 1.908500-6 125 6 2 603 + 5.010300-8 5.501900-3 3.720200-3 8.609000-4 8.797700-4 5.180600-4 125 6 2 604 + 5.393400-5 2.305900-4 6.570700-5-6.727700-5-5.214700-6 5.729900-5 125 6 2 605 + 7.876200-6-1.174200-5-1.138600-6 125 6 2 606 + 0.000000+0 7.500000+7 1 0 21 6 125 6 2 607 + 1.268300-2 5.214600-4 1.615700-4 4.374800-5 1.301200-5 2.826800-6 125 6 2 608 + 8.778500-8 5.071700-3 3.320700-3 7.306400-4 8.882600-4 4.789900-4 125 6 2 609 + 4.878400-5 3.913500-4 7.004200-5-8.124000-5-5.954500-6 6.605000-5 125 6 2 610 + 9.231500-6-1.502000-5-1.406000-6 125 6 2 611 + 0.000000+0 8.000000+7 1 0 21 6 125 6 2 612 + 1.199700-2 5.493100-4 2.102600-4 6.122000-5 2.321100-5 3.943800-6 125 6 2 613 + 1.440700-7 4.699600-3 2.991200-3 6.337300-4 8.911400-4 4.412400-4 125 6 2 614 + 4.386800-5 5.456300-4 7.474800-5-9.497000-5-6.570700-6 7.389600-5 125 6 2 615 + 1.046200-5-1.863700-5-1.686000-6 125 6 2 616 + 0.000000+0 8.500000+7 1 0 21 6 125 6 2 617 + 1.141000-2 5.782900-4 2.513800-4 8.236500-5 3.481100-5 5.200000-6 125 6 2 618 + 2.225200-7 4.373200-3 2.711500-3 5.723000-4 8.895300-4 4.060300-4 125 6 2 619 + 3.936400-5 6.840000-4 8.046400-5-1.077900-4-7.030300-6 8.034700-5 125 6 2 620 + 1.145600-5-2.247500-5-1.966900-6 125 6 2 621 + 0.000000+0 9.000000+7 1 0 21 6 125 6 2 622 + 1.090700-2 6.039800-4 2.792300-4 1.038000-4 4.641400-5 6.491900-6 125 6 2 623 + 3.243700-7 4.081800-3 2.466000-3 5.457300-4 8.853300-4 3.745200-4 125 6 2 624 + 3.542500-5 7.976200-4 8.707000-5-1.190000-4-7.314000-6 8.495100-5 125 6 2 625 + 1.210900-5-2.637800-5-2.234900-6 125 6 2 626 + 0.000000+0 9.500000+7 1 0 21 6 125 6 2 627 + 1.046900-2 6.223700-4 2.905000-4 1.212400-4 5.632200-5 7.675300-6 125 6 2 628 + 4.468700-7 3.816300-3 2.242600-3 5.510200-4 8.808500-4 3.478600-4 125 6 2 629 + 3.218500-5 8.789600-4 9.362400-5-1.279100-4-7.417300-6 8.733000-5 125 6 2 630 + 1.233600-5-3.014200-5-2.474300-6 125 6 2 631 + 0.000000+0 1.000000+8 1 0 21 6 125 6 2 632 + 1.007300-2 6.296800-4 2.843200-4 1.304400-4 6.282400-5 8.578200-6 125 6 2 633 + 5.814700-7 3.569300-3 2.032700-3 5.832600-4 8.784200-4 3.272500-4 125 6 2 634 + 2.977100-5 9.224200-4 9.856800-5-1.338300-4-7.348600-6 8.720600-5 125 6 2 635 + 1.208500-5-3.351900-5-2.668700-6 125 6 2 636 + 0.000000+0 1.100000+8 1 0 21 6 125 6 2 637 + 9.327700-3 5.985100-4 2.267100-4 1.135700-4 6.070200-5 8.864300-6 125 6 2 638 + 8.171200-7 3.107200-3 1.632900-3 7.031700-4 8.871200-4 3.093500-4 125 6 2 639 + 2.800000-5 8.848100-4 9.686100-5-1.342600-4-6.767600-6 7.899000-5 125 6 2 640 + 1.016800-5-3.789800-5-2.853200-6 125 6 2 641 + 0.000000+0 1.200000+8 1 0 21 6 125 6 2 642 + 8.587200-3 4.994700-4 1.340100-4 5.457500-5 3.785700-5 6.528600-6 125 6 2 643 + 8.327500-7 2.659400-3 1.247500-3 8.521700-4 9.208800-4 3.320700-4 125 6 2 644 + 3.183500-5 6.849900-4 7.374800-5-1.161000-4-5.685200-6 6.128200-5 125 6 2 645 + 6.862100-6-3.663800-5-2.642300-6 125 6 2 646 + 0.000000+0 1.300000+8 1 0 21 6 125 6 2 647 + 8.002800-3 3.667700-4 4.729400-5-7.285600-6 7.595700-6 2.559800-6 125 6 2 648 + 4.599200-7 2.204000-3 8.829400-4 9.832300-4 9.835900-4 4.082100-4 125 6 2 649 + 4.515100-5 3.495900-4 3.528300-5-7.667200-5-3.957500-6 3.957000-5 125 6 2 650 + 3.451800-6-2.616200-5-1.852200-6 125 6 2 651 + 0.000000+0 1.400000+8 1 0 21 6 125 6 2 652 + 8.012900-3 3.019100-4 3.066000-5-5.307700-6-1.458800-6 6.215000-7 125 6 2 653 + 3.520700-9 1.730700-3 5.577300-4 1.060000-3 1.079100-3 5.510900-4 125 6 2 654 + 7.677100-5-8.305300-5 1.640700-6-1.535200-5-9.084600-7 2.810500-5 125 6 2 655 + 2.128200-6-2.205500-6-1.594900-7 125 6 2 656 + 0.000000+0 1.500000+8 1 0 21 6 125 6 2 657 + 9.283100-3 4.540700-4 2.309700-4 1.386200-4 4.412100-5 4.820100-6 125 6 2 658 + 1.252100-6 1.239400-3 2.931600-4 1.053000-3 1.209400-3 7.707700-4 125 6 2 659 + 1.445700-4-5.740300-4-2.038600-7 6.595800-5 4.754900-6 6.237400-5 125 6 2 660 + 7.335900-6 4.016600-5 3.133500-6 125 6 2 661 + 0.000000+0 0.000000+0 0 0 0 0 125 6 099999 + 0.000000+0 0.000000+0 0 0 0 0 125 0 0 0 + 0.000000+0 0.000000+0 0 0 0 0 0 0 0 0 + 1.001000+3 9.991670-1 -1 0 6 1 125 1451 1 + 0.000000+0 0.000000+0 0 0 0 6 125 1451 2 + 9.986200-1 2.000000+8 1 0 10010 4 125 1451 3 + 0.000000+0 0.000000+0 1 0 42 2 125 1451 4 + 1-H - 1 JAERI EVAL-APR93 S.CHIBA 125 1451 5 +NST33(1996)654 DIST-Nov20 125 1451 6 +----JENDL-4.0/HE MATERIAL 125 125 1451 7 +-----INCIDENT PROTON DATA 125 1451 8 +------ENDF-6 FORMAT 125 1451 9 + 125 1451 10 + ****************************************************** 125 1451 11 + 125 1451 12 + --- JENDL-4.0/HE --- 125 1451 13 + 125 1451 14 + High-energy Evaluation up to 200 MeV 125 1451 15 + 125 1451 16 + ****************************************************** 125 1451 17 + 125 1451 18 +History 125 1451 19 +2015-03 Compiled by S.Kunieda 125 1451 20 + (Data were taken from JENDL High-energy File 2007 /1/.) 125 1451 21 + 125 1451 22 +References 125 1451 23 +1) Watanabe,Y. et al.: J. Korean Phys. Soc., 59, 1443 (2011). 125 1451 24 + 125 1451 25 + 125 1451 26 +___________( Comments from JENDL High-energy File 2007 )__________ 125 1451 27 + 125 1451 28 +HISTORY 125 1451 29 +93-04 Evaluation was performed by S. Cshiba (JAERI), S. Morioka 125 1451 30 + (CRC) and T. Fukahori for JENDL High Energy File. 125 1451 31 + Details are given in Ref. /1/. 125 1451 32 +03-05 Compiled by T. Fukahori for JENDL/HE. 125 1451 33 +04-02 Reviewed by T. Hino (Hitachi). 125 1451 34 + 125 1451 35 +MF=1 General Information 125 1451 36 + MT=451 Descriptive Data and Dictionary 125 1451 37 + 125 1451 38 +MF=3 Cross Sections 125 1451 39 + MT=2 Elastic Scattering Cross Section 125 1451 40 + Based on phase-shift data of Arndt et al./3,4/. 125 1451 41 + 125 1451 42 +MF=6 Double-differential cross section 125 1451 43 + MT=2 125 1451 44 + Based on phase-shift data of Arndt et al./3,4/. 125 1451 45 + 125 1451 46 + 1 451 49 1 125 1451 47 + 6 2 29 1 125 1451 48 + 125 1 099999 + 125 0 0 0 + 1.001000+3 9.991670-1 0 2 1 0 125 6 2 1 + 1.001000+3 9.986200-1 0 5 1 7 125 6 2 2 + 7 2 125 6 2 3 + 1.000000+3 3.916400-1 1.000000+7 3.916400-1 2.500000+7 1.412600-1 125 6 2 4 + 5.000000+7 6.454100-2 1.000000+8 3.385800-2 1.500000+8 2.735600-2 125 6 2 5 + 2.000000+8 2.527700-2 125 6 2 6 + 5.000000-1 0.000000+0 1 0 1 7 125 6 2 7 + 7 22 125 6 2 8 + 0.000000+0 1.000000+3 2 0 7 6 125 6 2 9 + 1.246600-1 4.340000-4 3.101100-5-1.678600-5 1.781500-6 6.780300-7 125 6 2 10 + 0.000000+0 125 6 2 11 + 0.000000+0 1.000000+7 2 0 7 6 125 6 2 12 + 1.246600-1 4.340000-4 3.101100-5-1.678600-5 1.781500-6 6.780300-7 125 6 2 13 + 0.000000+0 125 6 2 14 + 0.000000+0 2.500000+7 2 0 7 6 125 6 2 15 + 4.496400-2 4.849900-4 1.562300-5-5.193800-5 8.776600-6 3.636500-6 125 6 2 16 + 0.000000+0 125 6 2 17 + 0.000000+0 5.000000+7 2 0 7 6 125 6 2 18 + 2.054400-2 4.833100-4 3.665800-5-6.179600-5 2.050300-5 8.544500-6 125 6 2 19 + 8.632700-9 125 6 2 20 + 0.000000+0 1.000000+8 2 0 7 6 125 6 2 21 + 1.077700-2 4.136000-4 1.265500-4-5.602700-5 3.931600-5 1.594700-5 125 6 2 22 + 1.079000-7 125 6 2 23 + 0.000000+0 1.500000+8 2 0 7 6 125 6 2 24 + 8.707800-3 3.396400-4 1.474200-4-5.744300-5 4.385900-5 2.028600-5 125 6 2 25 + 2.877500-7 125 6 2 26 + 0.000000+0 2.000000+8 2 0 7 6 125 6 2 27 + 8.046100-3 2.170800-4 1.443000-4-6.185900-5 4.657500-5 2.233800-5 125 6 2 28 + 5.184900-7 125 6 2 29 + 125 6 099999 + 125 0 0 0 + 0 0 0 0 + 1.001000+3 9.991670-1 -1 0 6 1 125 1451 1 + 0.000000+0 0.000000+0 0 0 0 6 125 1451 2 + 9.986200-1 3.000000+9 1 0 10010 1 125 1451 3 + 0.000000+0 0.000000+0 1 0 53 2 125 1451 4 + 1-H - 1 JAERI EVAL-APR93 S.CHIBA 125 1451 5 +NST33(1996)654 DIST- 125 1451 6 +----JENDL/HE MATERIAL 125 125 1451 7 +-----INCIDENT PROTON DATA 125 1451 8 +------ENDF-6 FORMAT 125 1451 9 +HISTORY 125 1451 10 +93-04 Evaluation was performed by S. Cshiba (JAERI), S. Morioka 125 1451 11 + (CRC) and T. Fukahori for JENDL High Energy File. 125 1451 12 + Details are given in Ref. /1/. 125 1451 13 +03-05 Compiled by T. Fukahori for JENDL/HE. 125 1451 14 +04-02 Reviewed by T. Hino (Hitachi). 125 1451 15 + 125 1451 16 +MF=1 General Information 125 1451 17 + MT=451 Descriptive Data and Dictionary 125 1451 18 + 125 1451 19 +MF=3 Cross Sections 125 1451 20 + MT=2 Elastic Scattering Cross Section 125 1451 21 + Based on phase-shift data of Arndt et al./3,4/. 125 1451 22 + MT=3 Non-elastic Scattering Cross Section 125 1451 23 + Equal to MT=5. 125 1451 24 + MT=5 Inelastic Scattering Cross Section 125 1451 25 + This is a sum of the pion production cross sections. 125 1451 26 + Calculated by the phase-shift data/3,4/. 125 1451 27 + MT=201 Neutron production 125 1451 28 + Data calculated by JAM code. This neutron comes only from 125 1451 29 + H-1(p,nPI+)H-1 and H-1(p,2PI+)2n reactions. 125 1451 30 + MT=203 Proton production 125 1451 31 + Data calculated by JAM code. This proton comes only from 125 1451 32 + H-1(p,PI0)2p reaction. 125 1451 33 + MT=208 Positive pion production 125 1451 34 + Data calculated by JAM code. 125 1451 35 + MT=209 Non-charge pion production 125 1451 36 + Data calculated by JAM code. 125 1451 37 + MT=210 Negative pion production 125 1451 38 + Data calculated by JAM code. 125 1451 39 + Sum of MT=208-210 is normalized to MT=5. 125 1451 40 + 125 1451 41 +MF=6 Double-differential cross section 125 1451 42 + MT=2 125 1451 43 + Based on phase-shift data of Arndt et al./3,4/. 125 1451 44 + MT=201 Neutron production 125 1451 45 + Data calculated by JAM code. This neutron comes only from 125 1451 46 + H-1(p,nPI+)H-1 and H-1(p,2PI+)2n reactions. 125 1451 47 + MT=203 Proton production 125 1451 48 + Data calculated by JAM code. This proton comes only from 125 1451 49 + H-1(p,PI0)2p reaction. 125 1451 50 + MT=208 Positive pion production 125 1451 51 + Data calculated by JAM code. 125 1451 52 + MT=209 Non-charge pion production 125 1451 53 + Data calculated by JAM code. 125 1451 54 + MT=210 Negative pion production 125 1451 55 + Data calculated by JAM code. 125 1451 56 + 125 1451 57 + 1 451 69 0 125 1451 58 + 6 2 85 1 125 1451 59 + 125 1 099999 + 125 0 0 0 + 1.001000+3 9.991670-1 0 2 1 0 125 6 2 1 + 1.001000+3 9.986200-1 0 5 1 24 125 6 2 2 + 24 2 0 0 0 0 125 6 2 3 + 1.000000+3 3.916400-1 1.000000+7 3.916400-1 2.500000+7 1.412600-1 125 6 2 4 + 5.000000+7 6.454100-2 1.000000+8 3.385800-2 1.500000+8 2.735600-2 125 6 2 5 + 2.000000+8 2.527700-2 3.000000+8 2.465400-2 4.000000+8 2.546600-2 125 6 2 6 + 4.500000+8 2.599500-2 5.000000+8 2.634100-2 5.500000+8 2.647200-2 125 6 2 7 + 6.000000+8 2.591100-2 6.500000+8 2.519000-2 7.000000+8 2.515900-2 125 6 2 8 + 7.500000+8 2.579200-2 8.000000+8 2.521500-2 8.500000+8 2.474600-2 125 6 2 9 + 9.000000+8 2.442200-2 9.500000+8 2.335000-2 9.990000+8 2.430500-2 125 6 2 10 + 1.050000+9 2.433900-2 1.100000+9 2.446200-2 3.000000+9 2.446200-2 125 6 2 11 + 5.000000-1 0.000000+0 1 0 1 24 125 6 2 12 + 24 22 0 0 0 0 125 6 2 13 + 0.00000+00 1.00000+03 2 0 7 6 125 6 2 14 + 1.24660-01 4.34000-04 3.10110-05-1.67860-05 1.78150-06 6.78030-07 125 6 2 15 + 0.00000+00 125 6 2 16 + 0.00000+00 1.00000+07 2 0 7 6 125 6 2 17 + 1.24660-01 4.34000-04 3.10110-05-1.67860-05 1.78150-06 6.78030-07 125 6 2 18 + 0.00000+00 125 6 2 19 + 0.00000+00 2.50000+07 2 0 7 6 125 6 2 20 + 4.49640-02 4.84990-04 1.56230-05-5.19380-05 8.77660-06 3.63650-06 125 6 2 21 + 0.00000+00 125 6 2 22 + 0.00000+00 5.00000+07 2 0 7 6 125 6 2 23 + 2.05440-02 4.83310-04 3.66580-05-6.17960-05 2.05030-05 8.54450-06 125 6 2 24 + 8.63270-09 125 6 2 25 + 0.00000+00 1.00000+08 2 0 7 6 125 6 2 26 + 1.07770-02 4.13600-04 1.26550-04-5.60270-05 3.93160-05 1.59470-05 125 6 2 27 + 1.07900-07 125 6 2 28 + 0.00000+00 1.50000+08 2 0 7 6 125 6 2 29 + 8.70780-03 3.39640-04 1.47420-04-5.74430-05 4.38590-05 2.02860-05 125 6 2 30 + 2.87750-07 125 6 2 31 + 0.00000+00 2.00000+08 2 0 7 6 125 6 2 32 + 8.04610-03 2.17080-04 1.44300-04-6.18590-05 4.65750-05 2.23380-05 125 6 2 33 + 5.18490-07 125 6 2 34 + 0.00000+00 3.00000+08 2 0 7 6 125 6 2 35 + 7.84760-03 1.35750-04 1.49270-04-6.60780-05 5.65910-05 2.24340-05 125 6 2 36 + 1.01030-06 125 6 2 37 + 0.00000+00 4.00000+08 2 0 7 6 125 6 2 38 + 8.10620-03 2.60050-04 1.62550-04-5.24020-05 5.42150-05 2.27490-05 125 6 2 39 + 1.56090-06 125 6 2 40 + 0.00000+00 4.50000+08 2 0 7 6 125 6 2 41 + 8.27450-03 3.65950-04 1.82620-04-2.17570-05 5.89210-05 2.19650-05 125 6 2 42 + 1.86270-06 125 6 2 43 + 0.00000+00 5.00000+08 2 0 7 6 125 6 2 44 + 8.38460-03 5.42320-04 1.57030-04-1.92110-05 5.57520-05 2.38560-05 125 6 2 45 + 2.12690-06 125 6 2 46 + 0.00000+00 5.50000+08 2 0 7 6 125 6 2 47 + 8.42610-03 8.36400-04 1.16150-04 1.66420-05 6.22960-05 2.52880-05 125 6 2 48 + 2.39620-06 125 6 2 49 + 0.00000+00 6.00000+08 2 0 7 6 125 6 2 50 + 8.24760-03 1.23640-03 1.16500-04 1.85370-05 5.75800-05 2.53870-05 125 6 2 51 + 2.75990-06 125 6 2 52 + 0.00000+00 6.50000+08 2 0 7 6 125 6 2 53 + 8.01820-03 1.63770-03 1.76100-04 5.15680-05 6.41320-05 2.74140-05 125 6 2 54 + 3.04790-06 125 6 2 55 + 0.00000+00 7.00000+08 2 0 7 6 125 6 2 56 + 8.00840-03 2.17850-03 2.75180-04 3.28800-05 5.21860-05 2.70880-05 125 6 2 57 + 3.35060-06 125 6 2 58 + 0.00000+00 7.50000+08 2 0 7 6 125 6 2 59 + 8.21000-03 2.69270-03 4.00940-04 6.93580-05 6.23030-05 2.90430-05 125 6 2 60 + 3.67460-06 125 6 2 61 + 0.00000+00 8.00000+08 2 0 7 6 125 6 2 62 + 8.02620-03 2.91540-03 4.60460-04 6.61940-05 6.40430-05 3.19010-05 125 6 2 63 + 4.02670-06 125 6 2 64 + 0.00000+00 8.50000+08 2 0 7 6 125 6 2 65 + 7.87710-03 3.19380-03 6.16110-04 9.95190-05 6.55370-05 3.25550-05 125 6 2 66 + 4.41870-06 125 6 2 67 + 0.00000+00 9.00000+08 2 0 7 6 125 6 2 68 + 7.77380-03 3.38300-03 7.09880-04 9.90380-05 7.24630-05 4.14530-05 125 6 2 69 + 6.81050-06 125 6 2 70 + 0.00000+00 9.50000+08 2 0 7 6 125 6 2 71 + 7.43240-03 3.35190-03 7.67020-04 1.39400-04 7.45170-05 3.38890-05 125 6 2 72 + 4.18770-06 125 6 2 73 + 0.00000+00 9.99000+08 2 0 7 6 125 6 2 74 + 7.73650-03 3.66390-03 9.25980-04 1.63350-04 7.04450-05 4.28220-05 125 6 2 75 + 7.49330-06 125 6 2 76 + 0.00000+00 1.05000+09 2 0 7 6 125 6 2 77 + 7.74730-03 3.75850-03 9.84150-04 2.06600-04 1.02700-04 5.37120-05 125 6 2 78 + 8.36170-06 125 6 2 79 + 0.00000+00 1.10000+09 2 0 7 6 125 6 2 80 + 7.78670-03 3.95300-03 1.16590-03 3.28120-04 1.34690-04 4.93790-05 125 6 2 81 + 6.23940-06 125 6 2 82 + 0.000000+0 3.000000+9 2 0 7 6 125 6 2 83 + 7.78670-03 3.95300-03 1.16590-03 3.28120-04 1.34690-04 4.93790-05 125 6 2 84 + 6.23940-06 125 6 2 85 + 125 6 099999 + 125 0 0 0 + 0 0 0 0 + 1.001000+3 9.991670-1 -1 0 6 1 125 1451 1 + 0.000000+0 0.000000+0 0 0 0 6 125 1451 2 + 9.986200-1 3.000000+9 1 0 10010 1 125 1451 3 + 0.000000+0 0.000000+0 1 0 58 2 125 1451 4 + 1-H - 1 JAERI EVAL-APR93 S.CHIBA 125 1451 5 +NST33(1996)654 DIST- 125 1451 6 +----JENDL/HE MATERIAL 125 125 1451 7 +-----INCIDENT PROTON DATA 125 1451 8 +------ENDF-6 FORMAT 125 1451 9 +HISTORY 125 1451 10 +93-04 Evaluation was performed by S. Cshiba (JAERI), S. Morioka 125 1451 11 + (CRC) and T. Fukahori for JENDL High Energy File. 125 1451 12 + Details are given in Ref. /1/. 125 1451 13 +03-05 Compiled by T. Fukahori for JENDL/HE. 125 1451 14 +04-02 Reviewed by T. Hino (Hitachi). 125 1451 15 + 125 1451 16 +MF=1 General Information 125 1451 17 + MT=451 Descriptive Data and Dictionary 125 1451 18 + 125 1451 19 +MF=3 Cross Sections 125 1451 20 + MT=2 Elastic Scattering Cross Section 125 1451 21 + Based on phase-shift data of Arndt et al./3,4/. 125 1451 22 + MT=3 Non-elastic Scattering Cross Section 125 1451 23 + Equal to MT=4. 125 1451 24 + MT=4 Total Inelastic Scattering Cross Section 125 1451 25 + Equal to MT=51. 125 1451 26 + MT=51 Inelastic Scattering Cross Section 125 1451 27 + This is a sum of the pion production cross sections. 125 1451 28 + Calculated by the phase-shift data/3,4/. 125 1451 29 + MT=201 Neutron production 125 1451 30 + Data calculated by JAM code. This neutron comes only from 125 1451 31 + H-1(p,nPI+)H-1 and H-1(p,2PI+)2n reactions. 125 1451 32 + MT=203 Proton production 125 1451 33 + Data calculated by JAM code. This proton comes only from 125 1451 34 + H-1(p,PI0)2p reaction. 125 1451 35 + MT=208 Positive pion production 125 1451 36 + Data calculated by JAM code. 125 1451 37 + MT=209 Non-charge pion production 125 1451 38 + Data calculated by JAM code. 125 1451 39 + MT=210 Negative pion production 125 1451 40 + Data calculated by JAM code. 125 1451 41 + Sum of MT=208-210 is normalized to MT=51 (or MT=4). 125 1451 42 + 125 1451 43 +MF=6 Double-differential cross section 125 1451 44 + MT=2 125 1451 45 + Based on phase-shift data of Arndt et al./3,4/. 125 1451 46 + MT=51 Inelastic Scattering Cross Section 125 1451 47 + This is a sum of the pion production cross sections. 125 1451 48 + Calculated by the phase-shift data/3,4/. 125 1451 49 + MT=201 Neutron production 125 1451 50 + Data calculated by JAM code. This neutron comes only from 125 1451 51 + H-1(p,nPI+)H-1 and H-1(p,2PI+)2n reactions. 125 1451 52 + MT=203 Proton production 125 1451 53 + Data calculated by JAM code. This proton comes only from 125 1451 54 + H-1(p,PI0)2p reaction. 125 1451 55 + MT=208 Positive pion production 125 1451 56 + Data calculated by JAM code. 125 1451 57 + MT=209 Non-charge pion production 125 1451 58 + Data calculated by JAM code. 125 1451 59 + MT=210 Negative pion production 125 1451 60 + Data calculated by JAM code. 125 1451 61 + 125 1451 62 + 1 451 79 1 125 1451 63 + 6 2 109 1 125 1451 64 + 125 1 099999 + 125 0 0 0 + 1.001000+3 9.991670-1 0 2 1 0 125 6 2 1 + 1.001000+3 9.986200-1 0 5 1 24 125 6 2 2 + 24 2 0 0 0 0 125 6 2 3 + 1.000000-5 3.916400-1 1.000000+7 3.916400-1 2.500000+7 1.412600-1 125 6 2 4 + 5.000000+7 6.454100-2 1.000000+8 3.385800-2 1.500000+8 2.735600-2 125 6 2 5 + 2.000000+8 2.527700-2 3.000000+8 2.465400-2 4.000000+8 2.546600-2 125 6 2 6 + 4.500000+8 2.599500-2 5.000000+8 2.634100-2 5.500000+8 2.647200-2 125 6 2 7 + 6.000000+8 2.591100-2 6.500000+8 2.519000-2 7.000000+8 2.515900-2 125 6 2 8 + 7.500000+8 2.579200-2 8.000000+8 2.521500-2 8.500000+8 2.474600-2 125 6 2 9 + 9.000000+8 2.442200-2 9.500000+8 2.335000-2 9.990000+8 2.430500-2 125 6 2 10 + 1.050000+9 2.433900-2 1.100000+9 2.446200-2 3.000000+9 2.446200-2 125 6 2 11 + 5.000000-1 0.000000+0 1 0 1 24 125 6 2 12 + 24 22 0 0 0 0 125 6 2 13 + 0.000000+0 1.000000-5 2 0 13 12 125 6 2 14 + 1.000000+0 0.000000+0 3.481400-3 0.000000+0 2.487600-4 0.000000+0 125 6 2 15 +-1.346500-4 0.000000+0 1.429100-5 0.000000+0 5.439000-6 0.000000+0 125 6 2 16 + 0.000000+0 125 6 2 17 + 0.000000+0 1.000000+7 2 0 13 12 125 6 2 18 + 1.000000+0 0.000000+0 3.481400-3 0.000000+0 2.487600-4 0.000000+0 125 6 2 19 +-1.346500-4 0.000000+0 1.429100-5 0.000000+0 5.439000-6 0.000000+0 125 6 2 20 + 0.000000+0 125 6 2 21 + 0.000000+0 2.500000+7 2 0 13 12 125 6 2 22 + 1.000000+0 0.000000+0 1.078600-2 0.000000+0 3.474600-4 0.000000+0 125 6 2 23 +-1.155100-3 0.000000+0 1.951900-4 0.000000+0 8.087500-5 0.000000+0 125 6 2 24 + 0.000000+0 125 6 2 25 + 0.000000+0 5.000000+7 2 0 13 12 125 6 2 26 + 1.000000+0 0.000000+0 2.352600-2 0.000000+0 1.784400-3 0.000000+0 125 6 2 27 +-3.008000-3 0.000000+0 9.980300-4 0.000000+0 4.159200-4 0.000000+0 125 6 2 28 + 4.202100-7 125 6 2 29 + 0.000000+0 1.000000+8 2 0 13 12 125 6 2 30 + 1.000000+0 0.000000+0 3.837700-2 0.000000+0 1.174200-2 0.000000+0 125 6 2 31 +-5.198700-3 0.000000+0 3.648100-3 0.000000+0 1.479700-3 0.000000+0 125 6 2 32 + 1.001200-5 125 6 2 33 + 0.000000+0 1.500000+8 2 0 13 12 125 6 2 34 + 1.000000+0 0.000000+0 3.900400-2 0.000000+0 1.692900-2 0.000000+0 125 6 2 35 +-6.596700-3 0.000000+0 5.036700-3 0.000000+0 2.329600-3 0.000000+0 125 6 2 36 + 3.304500-5 125 6 2 37 + 0.000000+0 2.000000+8 2 0 13 12 125 6 2 38 + 1.000000+0 0.000000+0 2.697900-2 0.000000+0 1.793400-2 0.000000+0 125 6 2 39 +-7.688100-3 0.000000+0 5.788500-3 0.000000+0 2.776300-3 0.000000+0 125 6 2 40 + 6.444000-5 125 6 2 41 + 0.000000+0 3.000000+8 2 0 13 12 125 6 2 42 + 1.000000+0 0.000000+0 1.729800-2 0.000000+0 1.902100-2 0.000000+0 125 6 2 43 +-8.420200-3 0.000000+0 7.211300-3 0.000000+0 2.858700-3 0.000000+0 125 6 2 44 + 1.287400-4 125 6 2 45 + 0.000000+0 4.000000+8 2 0 13 12 125 6 2 46 + 1.000000+0 0.000000+0 3.208000-2 0.000000+0 2.005200-2 0.000000+0 125 6 2 47 +-6.464400-3 0.000000+0 6.688000-3 0.000000+0 2.806300-3 0.000000+0 125 6 2 48 + 1.925500-4 125 6 2 49 + 0.000000+0 4.500000+8 2 0 13 12 125 6 2 50 + 1.000000+0 0.000000+0 4.422700-2 0.000000+0 2.207000-2 0.000000+0 125 6 2 51 +-2.629400-3 0.000000+0 7.120800-3 0.000000+0 2.654500-3 0.000000+0 125 6 2 52 + 2.251200-4 125 6 2 53 + 0.000000+0 5.000000+8 2 0 13 12 125 6 2 54 + 1.000000+0 0.000000+0 6.468000-2 0.000000+0 1.872800-2 0.000000+0 125 6 2 55 +-2.291200-3 0.000000+0 6.649300-3 0.000000+0 2.845200-3 0.000000+0 125 6 2 56 + 2.536700-4 125 6 2 57 + 0.000000+0 5.500000+8 2 0 13 12 125 6 2 58 + 1.000000+0 0.000000+0 9.926200-2 0.000000+0 1.378500-2 0.000000+0 125 6 2 59 + 1.975000-3 0.000000+0 7.393200-3 0.000000+0 3.001100-3 0.000000+0 125 6 2 60 + 2.843800-4 125 6 2 61 + 0.000000+0 6.000000+8 2 0 13 12 125 6 2 62 + 1.000000+0 0.000000+0 1.499100-1 0.000000+0 1.412500-2 0.000000+0 125 6 2 63 + 2.247600-3 0.000000+0 6.981400-3 0.000000+0 3.078100-3 0.000000+0 125 6 2 64 + 3.346300-4 125 6 2 65 + 0.000000+0 6.500000+8 2 0 13 12 125 6 2 66 + 1.000000+0 0.000000+0 2.042500-1 0.000000+0 2.196300-2 0.000000+0 125 6 2 67 + 6.431300-3 0.000000+0 7.998300-3 0.000000+0 3.419000-3 0.000000+0 125 6 2 68 + 3.801200-4 125 6 2 69 + 0.000000+0 7.000000+8 2 0 13 12 125 6 2 70 + 1.000000+0 0.000000+0 2.720300-1 0.000000+0 3.436100-2 0.000000+0 125 6 2 71 + 4.105700-3 0.000000+0 6.516400-3 0.000000+0 3.382500-3 0.000000+0 125 6 2 72 + 4.183900-4 125 6 2 73 + 0.000000+0 7.500000+8 2 0 13 12 125 6 2 74 + 1.000000+0 0.000000+0 3.279800-1 0.000000+0 4.883500-2 0.000000+0 125 6 2 75 + 8.448000-3 0.000000+0 7.588700-3 0.000000+0 3.537500-3 0.000000+0 125 6 2 76 + 4.475700-4 125 6 2 77 + 0.000000+0 8.000000+8 2 0 13 12 125 6 2 78 + 1.000000+0 0.000000+0 3.632300-1 0.000000+0 5.737000-2 0.000000+0 125 6 2 79 + 8.247200-3 0.000000+0 7.979200-3 0.000000+0 3.974600-3 0.000000+0 125 6 2 80 + 5.016900-4 125 6 2 81 + 0.000000+0 8.500000+8 2 0 13 12 125 6 2 82 + 1.000000+0 0.000000+0 4.054500-1 0.000000+0 7.821600-2 0.000000+0 125 6 2 83 + 1.263400-2 0.000000+0 8.320000-3 0.000000+0 4.132900-3 0.000000+0 125 6 2 84 + 5.609600-4 125 6 2 85 + 0.000000+0 9.000000+8 2 0 13 12 125 6 2 86 + 1.000000+0 0.000000+0 4.351800-1 0.000000+0 9.131800-2 0.000000+0 125 6 2 87 + 1.274000-2 0.000000+0 9.321500-3 0.000000+0 5.332400-3 0.000000+0 125 6 2 88 + 8.760900-4 125 6 2 89 + 0.000000+0 9.500000+8 2 0 13 12 125 6 2 90 + 1.000000+0 0.000000+0 4.509800-1 0.000000+0 1.032000-1 0.000000+0 125 6 2 91 + 1.875600-2 0.000000+0 1.002600-2 0.000000+0 4.559700-3 0.000000+0 125 6 2 92 + 5.634400-4 125 6 2 93 + 0.000000+0 9.990000+8 2 0 13 12 125 6 2 94 + 1.000000+0 0.000000+0 4.735900-1 0.000000+0 1.196900-1 0.000000+0 125 6 2 95 + 2.111400-2 0.000000+0 9.105500-3 0.000000+0 5.535100-3 0.000000+0 125 6 2 96 + 9.685600-4 125 6 2 97 + 0.000000+0 1.050000+9 2 0 13 12 125 6 2 98 + 1.000000+0 0.000000+0 4.851400-1 0.000000+0 1.270300-1 0.000000+0 125 6 2 99 + 2.666700-2 0.000000+0 1.325600-2 0.000000+0 6.933000-3 0.000000+0 125 6 2 100 + 1.079300-3 125 6 2 101 + 0.000000+0 1.100000+9 2 0 13 12 125 6 2 102 + 1.000000+0 0.000000+0 5.076600-1 0.000000+0 1.497300-1 0.000000+0 125 6 2 103 + 4.213900-2 0.000000+0 1.729800-2 0.000000+0 6.341500-3 0.000000+0 125 6 2 104 + 8.012900-4 125 6 2 105 + 0.000000+0 3.000000+9 2 0 13 12 125 6 2 106 + 1.000000+0 0.000000+0 5.076600-1 0.000000+0 1.497300-1 0.000000+0 125 6 2 107 + 4.213900-2 0.000000+0 1.729800-2 0.000000+0 6.341500-3 0.000000+0 125 6 2 108 + 8.012900-4 125 6 2 109 + 125 6 099999 + 125 0 0 0 + 0 0 0 0 + 1.001000+3 9.991670-1 -1 0 6 1 125 1451 1 + 0.000000+0 0.000000+0 0 0 0 6 125 1451 2 + 9.986200-1 3.000000+9 1 0 10010 1 125 1451 3 + 0.000000+0 0.000000+0 1 0 53 2 125 1451 4 + 1-H - 1 JAERI EVAL-APR93 S.CHIBA 125 1451 5 +NST33(1996)654 DIST- 125 1451 6 +----JENDL-1 MATERIAL 125 125 1451 7 +-----INCIDENT PROTON DATA 125 1451 8 +------ENDF-6 FORMAT 125 1451 9 +HISTORY 125 1451 10 +93-04 Evaluation was performed by S. Cshiba (JAERI), S. Morioka 125 1451 11 + (CRC) and T. Fukahori for JENDL High Energy File. 125 1451 12 + Details are given in Ref. /1/. 125 1451 13 +03-05 Compiled by T. Fukahori for JENDL/HE. 125 1451 14 +04-02 Reviewed by T. Hino (Hitachi). 125 1451 15 + 125 1451 16 +MF=1 General Information 125 1451 17 + MT=451 Descriptive Data and Dictionary 125 1451 18 + 125 1451 19 +MF=3 Cross Sections 125 1451 20 + MT=2 Elastic Scattering Cross Section 125 1451 21 + Based on phase-shift data of Arndt et al./3,4/. 125 1451 22 + MT=3 Non-elastic Scattering Cross Section 125 1451 23 + Equal to MT=5. 125 1451 24 + MT=5 Inelastic Scattering Cross Section 125 1451 25 + This is a sum of the pion production cross sections. 125 1451 26 + Calculated by the phase-shift data/3,4/. 125 1451 27 + MT=201 Neutron production 125 1451 28 + Data calculated by JAM code. This neutron comes only from 125 1451 29 + H-1(p,nPI+)H-1 and H-1(p,2PI+)2n reactions. 125 1451 30 + MT=203 Proton production 125 1451 31 + Data calculated by JAM code. This proton comes only from 125 1451 32 + H-1(p,PI0)2p reaction. 125 1451 33 + MT=208 Positive pion production 125 1451 34 + Data calculated by JAM code. 125 1451 35 + MT=209 Non-charge pion production 125 1451 36 + Data calculated by JAM code. 125 1451 37 + MT=210 Negative pion production 125 1451 38 + Data calculated by JAM code. 125 1451 39 + Sum of MT=208-210 is normalized to MT=5. 125 1451 40 + 125 1451 41 +MF=6 Double-differential cross section 125 1451 42 + MT=2 125 1451 43 + Based on phase-shift data of Arndt et al./3,4/. 125 1451 44 + MT=201 Neutron production 125 1451 45 + Data calculated by JAM code. This neutron comes only from 125 1451 46 + H-1(p,nPI+)H-1 and H-1(p,2PI+)2n reactions. 125 1451 47 + MT=203 Proton production 125 1451 48 + Data calculated by JAM code. This proton comes only from 125 1451 49 + H-1(p,PI0)2p reaction. 125 1451 50 + MT=208 Positive pion production 125 1451 51 + Data calculated by JAM code. 125 1451 52 + MT=209 Non-charge pion production 125 1451 53 + Data calculated by JAM code. 125 1451 54 + MT=210 Negative pion production 125 1451 55 + Data calculated by JAM code. 125 1451 56 + 125 1451 57 + 1 451 63 0 125 1451 58 + 6 2 85 1 125 1451 59 + 0.000000+0 0.000000+0 0 0 0 0 125 1 099999 + 0.000000+0 0.000000+0 0 0 0 0 125 0 0 0 + 1.001000+3 9.991670-1 0 2 1 0 125 6 2 1 + 1.001000+3 9.986200-1 0 5 1 24 125 6 2 2 + 24 2 0 0 0 0 125 6 2 3 + 1.000000+3 3.916400-1 1.000000+7 3.916400-1 2.500000+7 1.412600-1 125 6 2 4 + 5.000000+7 6.454100-2 1.000000+8 3.385800-2 1.500000+8 2.735600-2 125 6 2 5 + 2.000000+8 2.527700-2 3.000000+8 2.465400-2 4.000000+8 2.546600-2 125 6 2 6 + 4.500000+8 2.599500-2 5.000000+8 2.634100-2 5.500000+8 2.647200-2 125 6 2 7 + 6.000000+8 2.591100-2 6.500000+8 2.519000-2 7.000000+8 2.515900-2 125 6 2 8 + 7.500000+8 2.579200-2 8.000000+8 2.521500-2 8.500000+8 2.474600-2 125 6 2 9 + 9.000000+8 2.442200-2 9.500000+8 2.335000-2 9.990000+8 2.430500-2 125 6 2 10 + 1.050000+9 2.433900-2 1.100000+9 2.446200-2 3.000000+9 2.446200-2 125 6 2 11 + 5.000000-1 0.000000+0 1 0 1 24 125 6 2 12 + 24 22 0 0 0 0 125 6 2 13 + 0.00000+00 1.00000+03 2 0 7 6 125 6 2 14 + 1.24660-01 4.34000-04 3.10110-05-1.67860-05 1.78150-06 6.78030-07 125 6 2 15 + 0.00000+00 125 6 2 16 + 0.00000+00 1.00000+07 2 0 7 6 125 6 2 17 + 1.24660-01 4.34000-04 3.10110-05-1.67860-05 1.78150-06 6.78030-07 125 6 2 18 + 0.00000+00 125 6 2 19 + 0.00000+00 2.50000+07 2 0 7 6 125 6 2 20 + 4.49640-02 4.84990-04 1.56230-05-5.19380-05 8.77660-06 3.63650-06 125 6 2 21 + 0.00000+00 125 6 2 22 + 0.00000+00 5.00000+07 2 0 7 6 125 6 2 23 + 2.05440-02 4.83310-04 3.66580-05-6.17960-05 2.05030-05 8.54450-06 125 6 2 24 + 8.63270-09 125 6 2 25 + 0.00000+00 1.00000+08 2 0 7 6 125 6 2 26 + 1.07770-02 4.13600-04 1.26550-04-5.60270-05 3.93160-05 1.59470-05 125 6 2 27 + 1.07900-07 125 6 2 28 + 0.00000+00 1.50000+08 2 0 7 6 125 6 2 29 + 8.70780-03 3.39640-04 1.47420-04-5.74430-05 4.38590-05 2.02860-05 125 6 2 30 + 2.87750-07 125 6 2 31 + 0.00000+00 2.00000+08 2 0 7 6 125 6 2 32 + 8.04610-03 2.17080-04 1.44300-04-6.18590-05 4.65750-05 2.23380-05 125 6 2 33 + 5.18490-07 125 6 2 34 + 0.00000+00 3.00000+08 2 0 7 6 125 6 2 35 + 7.84760-03 1.35750-04 1.49270-04-6.60780-05 5.65910-05 2.24340-05 125 6 2 36 + 1.01030-06 125 6 2 37 + 0.00000+00 4.00000+08 2 0 7 6 125 6 2 38 + 8.10620-03 2.60050-04 1.62550-04-5.24020-05 5.42150-05 2.27490-05 125 6 2 39 + 1.56090-06 125 6 2 40 + 0.00000+00 4.50000+08 2 0 7 6 125 6 2 41 + 8.27450-03 3.65950-04 1.82620-04-2.17570-05 5.89210-05 2.19650-05 125 6 2 42 + 1.86270-06 125 6 2 43 + 0.00000+00 5.00000+08 2 0 7 6 125 6 2 44 + 8.38460-03 5.42320-04 1.57030-04-1.92110-05 5.57520-05 2.38560-05 125 6 2 45 + 2.12690-06 125 6 2 46 + 0.00000+00 5.50000+08 2 0 7 6 125 6 2 47 + 8.42610-03 8.36400-04 1.16150-04 1.66420-05 6.22960-05 2.52880-05 125 6 2 48 + 2.39620-06 125 6 2 49 + 0.00000+00 6.00000+08 2 0 7 6 125 6 2 50 + 8.24760-03 1.23640-03 1.16500-04 1.85370-05 5.75800-05 2.53870-05 125 6 2 51 + 2.75990-06 125 6 2 52 + 0.00000+00 6.50000+08 2 0 7 6 125 6 2 53 + 8.01820-03 1.63770-03 1.76100-04 5.15680-05 6.41320-05 2.74140-05 125 6 2 54 + 3.04790-06 125 6 2 55 + 0.00000+00 7.00000+08 2 0 7 6 125 6 2 56 + 8.00840-03 2.17850-03 2.75180-04 3.28800-05 5.21860-05 2.70880-05 125 6 2 57 + 3.35060-06 125 6 2 58 + 0.00000+00 7.50000+08 2 0 7 6 125 6 2 59 + 8.21000-03 2.69270-03 4.00940-04 6.93580-05 6.23030-05 2.90430-05 125 6 2 60 + 3.67460-06 125 6 2 61 + 0.00000+00 8.00000+08 2 0 7 6 125 6 2 62 + 8.02620-03 2.91540-03 4.60460-04 6.61940-05 6.40430-05 3.19010-05 125 6 2 63 + 4.02670-06 125 6 2 64 + 0.00000+00 8.50000+08 2 0 7 6 125 6 2 65 + 7.87710-03 3.19380-03 6.16110-04 9.95190-05 6.55370-05 3.25550-05 125 6 2 66 + 4.41870-06 125 6 2 67 + 0.00000+00 9.00000+08 2 0 7 6 125 6 2 68 + 7.77380-03 3.38300-03 7.09880-04 9.90380-05 7.24630-05 4.14530-05 125 6 2 69 + 6.81050-06 125 6 2 70 + 0.00000+00 9.50000+08 2 0 7 6 125 6 2 71 + 7.43240-03 3.35190-03 7.67020-04 1.39400-04 7.45170-05 3.38890-05 125 6 2 72 + 4.18770-06 125 6 2 73 + 0.00000+00 9.99000+08 2 0 7 6 125 6 2 74 + 7.73650-03 3.66390-03 9.25980-04 1.63350-04 7.04450-05 4.28220-05 125 6 2 75 + 7.49330-06 125 6 2 76 + 0.00000+00 1.05000+09 2 0 7 6 125 6 2 77 + 7.74730-03 3.75850-03 9.84150-04 2.06600-04 1.02700-04 5.37120-05 125 6 2 78 + 8.36170-06 125 6 2 79 + 0.00000+00 1.10000+09 2 0 7 6 125 6 2 80 + 7.78670-03 3.95300-03 1.16590-03 3.28120-04 1.34690-04 4.93790-05 125 6 2 81 + 6.23940-06 125 6 2 82 + 0.000000+0 3.000000+9 2 0 7 6 125 6 2 83 + 7.78670-03 3.95300-03 1.16590-03 3.28120-04 1.34690-04 4.93790-05 125 6 2 84 + 6.23940-06 125 6 2 85 + 125 6 099999 + 125 0 0 0 + 0 0 0 0 + 1.001000+3 9.991700-1 -1 0 0 2 125 1451 1 + 0.000000+0 0.000000+0 0 0 0 6 125 1451 2 + 9.986200-1 1.500000+8 1 0 10010 7 125 1451 3 + 0.000000+0 0.000000+0 0 0 32 2 125 1451 4 + 1-H - 1 LANL EVAL-FEB98 G.HALE 125 1451 5 + CH99 DIST-DEC06 REV1- 20111222 125 1451 6 +----ENDF/B-VII.1 MATERIAL 125 REVISION 1 125 1451 7 +-----INCIDENT PROTON DATA 125 1451 8 +------ENDF-6 FORMAT 125 1451 9 + 125 1451 10 + **************************************************************** 125 1451 11 + 125 1451 12 + ENDF/B-VI MOD 2 Evaluation, February 1998, G. M. Hale (LANL) 125 1451 13 + 125 1451 14 + Includes p + H1 elastic MT = 2 125 1451 15 + 125 1451 16 + p-p elastic cross sections calculated for Ep between 0 and 125 1451 17 + 150 MeV from an R-matrix analysis of p-p cross-section and 125 1451 18 + polarization data in this energy range. The maximum nuclear 125 1451 19 + partial wave allowed in the fit is l=6, and the resulting 125 1451 20 + chi-squared per degree of freedom is 1.8. 125 1451 21 + 125 1451 22 + **************************************************************** 125 1451 23 + 125 1451 24 + ENDF/B-VI MOD 1 Evaluation, October 1987, D. Dodder (LANL) 125 1451 25 + 125 1451 26 + Completely replaced by MOD 2 evaluation. 125 1451 27 + 125 1451 28 +**************************************************************** 125 1451 29 + 125 1451 30 +REFERENCES 125 1451 31 + 125 1451 32 +[Ch99] M.B. Chadwick, P G. Young, G. M. Hale, et al., Los Alamos 125 1451 33 + National Laboratory report, LA-UR-99-1222 (1999) 125 1451 34 + 125 1451 35 + ************************ C O N T E N T S ************************ 125 1451 36 + 1 451 39 1 125 1451 37 + 6 2 661 1 125 1451 38 + 0.000000+0 0.000000+0 0 0 0 0 125 1 099999 + 0.000000+0 0.000000+0 0 0 0 0 125 0 0 0 + 1.001000+3 9.991700-1 0 2 1 0 125 6 2 1 + 1.001000+3 9.966200-1 0 5 1 2 125 6 2 2 + 2 2 125 6 2 3 + 1.000000+3 1.000000+0 1.500000+8 1.000000+0 125 6 2 4 + 5.000000-1 0.000000+0 1 0 1 131 125 6 2 5 + 131 2 125 6 2 6 + 0.000000+0 1.000000+3 1 0 21 6 125 6 2 7 + 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 125 6 2 8 + 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 125 6 2 9 + 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 125 6 2 10 + 0.000000+0 0.000000+0 0.000000+0 125 6 2 11 + 0.000000+0 2.000000+4 1 0 21 6 125 6 2 12 + 4.913300-5-1.84640-12 2.43950-19-1.66800-20-1.91330-20 2.71050-20 125 6 2 13 +-1.08420-21 3.193000-2 2.456600-5 1.704500-7-1.529200-6-6.45090-10 125 6 2 14 + 3.04170-10 3.86880-13 1.08180-13-1.76570-18-1.88320-18-3.02160-22 125 6 2 15 +-9.32390-22-2.57440-27 4.68080-26 125 6 2 16 + 0.000000+0 3.000000+4 1 0 21 6 125 6 2 17 + 4.418500-4-2.09530-11 5.34870-18 6.67200-20-1.53060-19 2.37490-19 125 6 2 18 +-1.04080-19 7.818000-2 2.209200-4-4.153400-7-4.533300-6-2.019900-9 125 6 2 19 + 2.105000-9 2.30990-12-5.05480-13-2.16370-17-5.13870-18-1.03320-20 125 6 2 20 +-6.98120-21 5.52570-25 6.90790-25 125 6 2 21 + 0.000000+0 4.000000+4 1 0 21 6 125 6 2 22 + 1.583100-3-7.77440-11 3.92240-17 1.06750-18-2.04090-19 5.16290-19 125 6 2 23 +-5.55110-19 1.281600-1 7.915500-4-2.014600-6-8.482500-6-3.543000-9 125 6 2 24 + 6.195500-9 6.48990-12-3.85640-12-9.24840-17 1.36020-17-6.83790-20 125 6 2 25 +-1.15620-20 5.93050-24 2.71580-24 125 6 2 26 + 0.000000+0 5.000000+4 1 0 21 6 125 6 2 27 + 3.720100-3-1.58880-10 1.72890-16 0.000000+0-8.16340-19 2.06510-18 125 6 2 28 +-9.02060-19 1.757100-1 1.860100-3-4.550400-6-1.285800-5-4.525500-9 125 6 2 29 + 1.282000-8 1.27540-11-1.23330-11-2.48950-16 1.10820-16-2.49180-19 125 6 2 30 + 3.45850-20 2.93390-23 2.84400-24 125 6 2 31 + 0.000000+0 6.000000+4 1 0 21 6 125 6 2 32 + 6.924900-3-1.95810-10 5.60510-16 3.20260-18-2.44900-18 5.78240-19 125 6 2 33 +-3.46940-18 2.188300-1 3.462400-3-7.848000-6-1.735500-5-4.437500-9 125 6 2 34 + 2.194300-8 2.02820-11-2.82140-11-5.15680-16 3.74110-16-6.55910-19 125 6 2 35 + 2.55100-19 9.75220-23-1.54020-23 125 6 2 36 + 0.000000+0 7.000000+4 1 0 21 6 125 6 2 37 + 1.116000-2-6.54170-11 1.45790-15-5.33760-18 4.89800-18-1.48690-18 125 6 2 38 +-1.94290-18 2.571600-1 5.579900-3-1.173700-5-2.180700-5-2.908600-9 125 6 2 39 + 3.341300-8 2.78660-11-5.35300-11-9.01190-16 9.17370-16-1.40460-18 125 6 2 40 + 8.73660-19 2.53160-22-9.47000-23 125 6 2 41 + 0.000000+0 8.000000+4 1 0 21 6 125 6 2 42 + 1.633300-2 4.00010-10 3.25590-15 1.49450-17-1.30610-17 7.93020-18 125 6 2 43 +-3.33070-18 2.909700-1 8.166700-3-1.607600-5-2.612700-5 3.10910-10 125 6 2 44 + 4.704800-8 3.40740-11-9.00520-11-1.39500-15 1.87620-15-2.60560-18 125 6 2 45 + 2.23420-18 5.54600-22-3.19800-22 125 6 2 46 + 0.000000+0 9.000000+4 1 0 21 6 125 6 2 47 + 2.233400-2 1.401300-9 6.57960-15 1.92150-17-9.79610-18 1.38780-17 125 6 2 48 +-4.44090-18 3.207200-1 1.116700-2-2.075300-5-3.027200-5 5.385400-9 125 6 2 49 + 6.265800-8 3.73560-11-1.39320-10-1.96670-15 3.40390-15-4.34440-18 125 6 2 50 + 4.81650-18 1.07280-21-8.35550-22 125 6 2 51 + 0.000000+0 1.000000+5 1 0 21 6 125 6 2 52 + 2.904800-2 3.162300-9 1.22030-14 1.28100-17 9.79610-18 7.59970-18 125 6 2 53 + 1.11020-18 3.469000-1 1.452400-2-2.568100-5-3.422300-5 1.242000-8 125 6 2 54 + 8.007000-8 3.61070-11-2.02670-10-2.56540-15 5.66890-15-6.66280-18 125 6 2 55 + 9.24960-18 1.88570-21-1.86660-21 125 6 2 56 + 0.000000+0 1.200000+5 1 0 21 6 125 6 2 57 + 4.419000-2 9.925000-9 3.46740-14 4.27010-17-3.26540-17 4.29550-17 125 6 2 58 +-2.22040-17 3.903000-1 2.209500-2-3.604200-5-4.153800-5 3.260200-8 125 6 2 59 + 1.196700-7 1.35160-11-3.76170-10-3.54050-15 1.31440-14-1.28750-17 125 6 2 60 + 2.69880-17 4.68960-21-6.89990-21 125 6 2 61 + 0.000000+0 1.400000+5 1 0 21 6 125 6 2 62 + 6.101500-2 2.266700-8 8.20210-14 4.27010-17-6.53070-17 1.91650-17 125 6 2 63 + 7.77160-18 4.241900-1 3.050700-2-4.678300-5-4.810900-5 6.108100-8 125 6 2 64 + 1.647800-7-4.65860-11-6.18360-10-3.52110-15 2.58680-14-2.00110-17 125 6 2 65 + 6.38150-17 9.35290-21-1.96390-20 125 6 2 66 + 0.000000+0 1.600000+5 1 0 21 6 125 6 2 67 + 7.893800-2 4.336800-8 1.70370-13 8.54020-18-3.91840-17 5.02240-17 125 6 2 68 +-4.88500-17 4.507600-1 3.946900-2-5.768000-5-5.401400-5 9.784700-8 125 6 2 69 + 2.145300-7-1.56710-10-9.35450-10-1.41210-15 4.55340-14-2.50240-17 125 6 2 70 + 1.31000-16 1.55990-20-4.70250-20 125 6 2 71 + 0.000000+0 1.800000+5 1 0 21 6 125 6 2 72 + 9.751600-2 7.393400-8 3.20860-13 1.36640-16-6.53070-17 5.02240-17 125 6 2 73 +-1.55430-17 4.716500-1 4.875800-2-6.859100-5-5.933500-5 1.427700-7 125 6 2 74 + 2.682600-7-3.28890-10-1.332400-9 4.15900-15 7.39350-14-2.25480-17 125 6 2 75 + 2.42870-16 2.19000-20-9.95140-20 125 6 2 76 + 0.000000+0 2.000000+5 1 0 21 6 125 6 2 77 + 1.164100-1 1.161500-7 5.61300-13 1.19560-16-2.61230-17 5.28680-17 125 6 2 78 + 2.22040-18 4.880200-1 5.820500-2-7.942900-5-6.414600-5 1.956700-7 125 6 2 79 + 3.254200-7-5.74610-10-1.813500-9 1.48250-14 1.12940-13-4.43920-18 125 6 2 80 + 4.16980-16 2.47640-20-1.91900-19 125 6 2 81 + 0.000000+0 2.200000+5 1 0 21 6 125 6 2 82 + 1.353600-1 1.716400-7 9.24810-13 2.04960-16-1.04490-16 6.87280-17 125 6 2 83 +-5.77320-17 5.007700-1 6.768200-2-9.013900-5-6.851200-5 2.563400-7 125 6 2 84 + 3.855700-7-9.04880-10-2.382100-9 3.24620-14 1.64490-13 4.06590-17 125 6 2 85 + 6.74160-16 1.79090-20-3.44160-19 125 6 2 86 + 0.000000+0 2.400000+5 1 0 21 6 125 6 2 87 + 1.541900-1 2.419100-7 1.45110-12 2.04960-16-7.83690-17 7.93020-17 125 6 2 88 + 1.77640-17 5.105600-1 7.709300-2-1.006900-4-7.248900-5 3.245600-7 125 6 2 89 + 4.483700-7-1.330200-9-3.041100-9 5.91790-14 2.30550-13 1.27730-16 125 6 2 90 + 1.03870-15-8.67460-21-5.82330-19 125 6 2 91 + 0.000000+0 2.600000+5 1 0 21 6 125 6 2 92 + 1.727200-1 3.282600-7 2.18750-12 2.56210-16-2.08980-16 3.70070-17 125 6 2 93 + 9.77000-17 5.179200-1 8.636200-2-1.110500-4-7.612400-5 4.001100-7 125 6 2 94 + 5.135000-7-1.860700-9-3.793200-9 9.73020-14 3.13170-13 2.75740-16 125 6 2 95 + 1.53820-15-6.97620-20-9.39390-19 125 6 2 96 + 0.000000+0 2.800000+5 1 0 21 6 125 6 2 97 + 1.908700-1 4.318600-7 3.18720-12 2.73290-16-1.04490-16 1.05740-16 125 6 2 98 +-1.19900-16 5.232500-1 9.543500-2-1.212100-4-7.945700-5 4.827900-7 125 6 2 99 + 5.807300-7-2.505900-9-4.640500-9 1.49360-13 4.14400-13 5.08070-16 125 6 2 100 + 2.20390-15-1.86030-19-1.45620-18 125 6 2 101 + 0.000000+0 3.000000+5 1 0 21 6 125 6 2 102 + 2.085400-1 5.537300-7 4.51160-12 1.53720-16-2.08980-16 2.45840-16 125 6 2 103 +-6.21720-17 5.268800-1 1.042700-1-1.311700-4-8.252100-5 5.724000-7 125 6 2 104 + 6.498400-7-3.275300-9-5.585000-9 2.18090-13 5.36330-13 8.52790-16 125 6 2 105 + 3.07080-15-3.85270-19-2.18220-18 125 6 2 106 + 0.000000+0 3.200000+5 1 0 21 6 125 6 2 107 + 2.256700-1 6.947200-7 6.22890-12 2.73290-16-1.04490-16 1.53320-16 125 6 2 108 +-4.88500-17 5.290800-1 1.128300-1-1.409300-4-8.534600-5 6.687400-7 125 6 2 109 + 7.206400-7-4.177800-9-6.628200-9 3.06410-13 6.81080-13 1.34300-15 125 6 2 110 + 4.17710-15-7.03720-19-3.17690-18 125 6 2 111 + 0.000000+0 3.400000+5 1 0 21 6 125 6 2 112 + 2.422100-1 8.555600-7 8.41510-12 2.73290-16-1.04490-16 1.55960-16 125 6 2 113 + 0.000000+0 5.300700-1 1.211000-1-1.504800-4-8.795600-5 7.716300-7 125 6 2 114 + 7.929900-7-5.221900-9-7.771800-9 4.17410-13 8.50790-13 2.01730-15 125 6 2 115 + 5.56500-15-1.18740-18-4.51000-18 125 6 2 116 + 0.000000+0 3.600000+5 1 0 21 6 125 6 2 117 + 2.581300-1 1.036800-6 1.11540-11 2.39120-16 5.22460-17 5.55110-17 125 6 2 118 + 6.66130-17 5.300100-1 1.290700-1-1.598300-4-9.037200-5 8.809000-7 125 6 2 119 + 8.667400-7-6.416200-9-9.017100-9 5.54370-13 1.04760-12 2.91980-15 125 6 2 120 + 7.28030-15-1.89380-18-6.26310-18 125 6 2 121 + 0.000000+0 3.800000+5 1 0 21 6 125 6 2 122 + 2.734200-1 1.239000-6 1.45360-11 2.39120-16 0.000000+0 8.19450-17 125 6 2 123 +-1.06580-16 5.290700-1 1.367100-1-1.689700-4-9.261400-5 9.963900-7 125 6 2 124 + 9.417800-7-7.768500-9-1.036500-8 7.20730-13 1.27370-12 4.10060-15 125 6 2 125 + 9.37250-15-2.89300-18-8.53000-18 125 6 2 126 + 0.000000+0 4.000000+5 1 0 21 6 125 6 2 127 + 2.880500-1 1.462500-6 1.86610-11 2.73290-16-5.22460-17 3.17210-17 125 6 2 128 + 1.77640-17 5.273600-1 1.440300-1-1.779200-4-9.469800-5 1.117900-6 125 6 2 129 + 1.018000-6-9.286900-9-1.181700-8 9.20070-13 1.53130-12 5.61630-15 125 6 2 130 + 1.18950-14-4.26980-18-1.14180-17 125 6 2 131 + 0.000000+0 4.200000+5 1 0 21 6 125 6 2 132 + 3.020300-1 1.707500-6 2.36350-11 6.14890-16-3.13470-16 1.16310-16 125 6 2 133 +-1.33230-16 5.250000-1 1.510100-1-1.866800-4-9.663600-5 1.245400-6 125 6 2 134 + 1.095300-6-1.097900-8-1.337400-8 1.15620-12 1.82250-12 7.52980-15 125 6 2 135 + 1.49050-14-6.12500-18-1.50500-17 125 6 2 136 + 0.000000+0 4.400000+5 1 0 21 6 125 6 2 137 + 3.153500-1 1.974200-6 2.95740-11 4.78250-16-1.04490-16-3.17210-17 125 6 2 138 +-5.32910-17 5.220800-1 1.576700-1-1.952500-4-9.844300-5 1.378600-6 125 6 2 139 + 1.173600-6-1.285200-8-1.503600-8 1.43290-12 2.14960-12 9.91080-15 125 6 2 140 + 1.84620-14-8.57750-18-1.95610-17 125 6 2 141 + 0.000000+0 4.600000+5 1 0 21 6 125 6 2 142 + 3.280100-1 2.262600-6 3.65990-11 5.80730-16 5.22460-17 1.00450-16 125 6 2 143 +-8.88180-17 5.186800-1 1.640100-1-2.036400-4-1.001300-4 1.517500-6 125 6 2 144 + 1.252900-6-1.491200-8-1.680500-8 1.75430-12 2.51480-12 1.28360-14 125 6 2 145 + 2.26330-14-1.17660-17-2.51070-17 125 6 2 146 + 0.000000+0 4.800000+5 1 0 21 6 125 6 2 147 + 3.400400-1 2.572800-6 4.48400-11 7.51540-16-2.08980-16 1.42740-16 125 6 2 148 +-6.21720-17 5.148600-1 1.700200-1-2.118500-4-1.017000-4 1.661900-6 125 6 2 149 + 1.333000-6-1.716800-8-1.868200-8 2.12450-12 2.92030-12 1.63900-14 125 6 2 150 + 2.74850-14-1.58500-17-3.18570-17 125 6 2 151 + 0.000000+0 5.000000+5 1 0 21 6 125 6 2 152 + 3.514300-1 2.904700-6 5.44370-11 9.90660-16-1.56740-16 1.79750-16 125 6 2 153 +-5.32910-17 5.106900-1 1.757100-1-2.198900-4-1.031700-4 1.811700-6 125 6 2 154 + 1.413900-6-1.962600-8-2.066500-8 2.54790-12 3.36820-12 2.06650-14 125 6 2 155 + 3.30910-14-2.10150-17-4.00020-17 125 6 2 156 + 0.000000+0 5.500000+5 1 0 21 6 125 6 2 157 + 3.772300-1 3.828200-6 8.53340-11 1.77640-15-3.13470-16 3.70070-17 125 6 2 158 +-1.95400-16 4.990600-1 1.886100-1-2.392600-4-1.064500-4 2.209100-6 125 6 2 159 + 1.619400-6-2.669600-8-2.610000-8 3.86840-12 4.68880-12 3.51750-14 125 6 2 160 + 5.09130-14-4.00960-17-6.78810-17 125 6 2 161 + 0.000000+0 6.000000+5 1 0 21 6 125 6 2 162 + 3.994200-1 4.882800-6 1.28130-10 2.93780-15-3.65720-16 1.42740-16 125 6 2 163 +-5.32910-17 4.861900-1 1.997100-1-2.576500-4-1.092200-4 2.637800-6 125 6 2 164 + 1.828800-6-3.516800-8-3.222000-8 5.62190-12 6.32380-12 5.66110-14 125 6 2 165 + 7.52310-14-7.13900-17-1.09660-16 125 6 2 166 + 0.000000+0 6.500000+5 1 0 21 6 125 6 2 167 + 4.183000-1 6.063400-6 1.85610-10 4.95330-15-3.65720-16 1.63890-16 125 6 2 168 +-1.24340-16 4.725700-1 2.091500-1-2.751400-4-1.115800-4 3.096500-6 125 6 2 169 + 2.041600-6-4.513300-8-3.902900-8 7.88570-12 8.30810-12 8.70880-14 125 6 2 170 + 1.07500-13-1.20270-16-1.70070-16 125 6 2 171 + 0.000000+0 7.000000+5 1 0 21 6 125 6 2 172 + 4.341500-1 7.364000-6 2.60880-10 7.51540-15-8.35930-16 8.98750-17 125 6 2 173 +-2.13160-16 4.585500-1 2.170700-1-2.917700-4-1.135800-4 3.583700-6 125 6 2 174 + 2.257300-6-5.668200-8-4.653300-8 1.07410-11 1.06770-11 1.29080-13 125 6 2 175 + 1.49310-13-1.93640-16-2.54800-16 125 6 2 176 + 0.000000+0 7.500000+5 1 0 21 6 125 6 2 177 + 4.472900-1 8.777800-6 3.57320-10 1.18880-14-7.31440-16-1.05740-17 125 6 2 178 +-2.48690-16 4.443900-1 2.236400-1-3.076100-4-1.152600-4 4.098300-6 125 6 2 179 + 2.475500-6-6.989600-8-5.473500-8 1.42740-11 1.34640-11 1.85430-13 125 6 2 180 + 2.02440-13-3.00160-16-3.70640-16 125 6 2 181 + 0.000000+0 8.000000+5 1 0 21 6 125 6 2 182 + 4.580100-1 1.029800-5 4.78630-10 1.76950-14-6.79200-16 0.000000+0 125 6 2 183 +-8.88180-17 4.302900-1 2.290000-1-3.227100-4-1.166800-4 4.639200-6 125 6 2 184 + 2.695900-6-8.485700-8-6.363600-8 1.85720-11 1.67040-11 2.59380-13 125 6 2 185 + 2.68790-13-4.50510-16-5.25560-16 125 6 2 186 + 0.000000+0 8.500000+5 1 0 21 6 125 6 2 187 + 4.665600-1 1.191700-5 6.28750-10 2.61670-14-6.26950-16-1.26880-16 125 6 2 188 +-2.30930-16 4.163800-1 2.332800-1-3.371100-4-1.178600-4 5.205400-6 125 6 2 189 + 2.918100-6-1.016400-7-7.323800-8 2.37290-11 2.04330-11 3.54580-13 125 6 2 190 + 3.50420-13-6.57640-16-7.28790-16 125 6 2 191 + 0.000000+0 9.000000+5 1 0 21 6 125 6 2 192 + 4.732200-1 1.362900-5 8.11950-10 3.79180-14-8.35930-16-2.22040-16 125 6 2 193 +-3.19740-16 4.027700-1 2.366000-1-3.508400-4-1.188300-4 5.795800-6 125 6 2 194 + 3.142000-6-1.203200-7-8.354300-8 2.98390-11 2.46830-11 4.75120-13 125 6 2 195 + 4.49570-13-9.37060-16-9.90940-16 125 6 2 196 + 0.000000+0 9.500000+5 1 0 21 6 125 6 2 197 + 4.781900-1 1.542600-5 1.032700-9 5.33590-14-1.04490-15-2.53770-16 125 6 2 198 +-3.55270-16 3.895200-1 2.390900-1-3.639600-4-1.196100-4 6.409800-6 125 6 2 199 + 3.367300-6-1.409600-7-9.454900-8 3.70030-11 2.94900-11 6.25520-13 125 6 2 200 + 5.68610-13-1.30710-15-1.32410-15 125 6 2 201 + 0.000000+0 1.000000+6 1 0 21 6 125 6 2 202 + 4.817000-1 1.730200-5 1.295900-9 7.45390-14-8.88180-16-1.79750-16 125 6 2 203 +-4.26330-16 3.766900-1 2.408400-1-3.764800-4-1.202300-4 7.046400-6 125 6 2 204 + 3.593800-6-1.636300-7-1.062600-7 4.53200-11 3.48860-11 8.10760-13 125 6 2 205 + 7.10070-13-1.78920-15-1.74190-15 125 6 2 206 + 0.000000+0 1.100000+6 1 0 21 6 125 6 2 207 + 4.850300-1 2.126700-5 1.970000-9 1.37330-13-1.14940-15-5.23390-16 125 6 2 208 +-3.10860-16 3.523800-1 2.425100-1-3.998700-4-1.210100-4 8.384600-6 125 6 2 209 + 4.050000-6-2.153100-7-1.317700-7 6.58360-11 4.75810-11 1.30810-12 125 6 2 210 + 1.07120-12-3.19290-15-2.89440-15 125 6 2 211 + 0.000000+0 1.200000+6 1 0 21 6 125 6 2 212 + 4.844700-1 2.547900-5 2.877900-9 2.39400-13-1.61960-15-6.60850-16 125 6 2 213 +-5.06260-16 3.299500-1 2.422300-1-4.212400-4-1.213000-4 9.805100-6 125 6 2 214 + 4.509400-6-2.758400-7-1.600800-7 9.22470-11 6.30330-11 2.01680-12 125 6 2 215 + 1.55620-12-5.39410-15-4.59270-15 125 6 2 216 + 0.000000+0 1.300000+6 1 0 21 6 125 6 2 217 + 4.810100-1 2.990100-5 4.067300-9 3.98660-13-1.67190-15-6.92570-16 125 6 2 218 +-7.10540-16 3.093700-1 2.405000-1-4.407600-4-1.211600-4 1.130300-5 125 6 2 219 + 4.971100-6-3.456800-7-1.911700-7 1.25450-10 8.15000-11 2.99480-12 125 6 2 220 + 2.19100-12-8.70900-15-7.01210-15 125 6 2 221 + 0.000000+0 1.400000+6 1 0 21 6 125 6 2 222 + 4.754300-1 3.450000-5 5.589800-9 6.37850-13-1.98530-15-7.98300-16 125 6 2 223 +-5.86200-16 2.905500-1 2.377000-1-4.585800-4-1.206600-4 1.287400-5 125 6 2 224 + 5.434500-6-4.252200-7-2.250100-7 1.66380-10 1.03240-10 4.30850-12 125 6 2 225 + 3.00390-12-1.35350-14-1.03620-14 125 6 2 226 + 0.000000+0 1.500000+6 1 0 21 6 125 6 2 227 + 4.683100-1 3.924900-5 7.500900-9 9.85880-13-2.45560-15-6.60850-16 125 6 2 228 +-7.99360-16 2.733800-1 2.341400-1-4.748500-4-1.198500-4 1.451400-5 125 6 2 229 + 5.899000-6-5.148600-7-2.615800-7 2.15980-10 1.28490-10 6.03360-12 125 6 2 230 + 4.02560-12-2.03620-14-1.48900-14 125 6 2 231 + 0.000000+0 1.600000+6 1 0 21 6 125 6 2 232 + 4.601100-1 4.412400-5 9.859600-9 1.47990-12-2.40330-15-9.88630-16 125 6 2 233 +-9.23710-16 2.577100-1 2.300400-1-4.896700-4-1.187700-4 1.621900-5 125 6 2 234 + 6.364200-6-6.149500-7-3.008500-7 2.75230-10 1.57510-10 8.25510-12 125 6 2 235 + 5.28920-12-2.97840-14-2.08840-14 125 6 2 236 + 0.000000+0 1.700000+6 1 0 21 6 125 6 2 237 + 4.511800-1 4.910600-5 1.272800-8 2.16390-12-2.66450-15-1.02560-15 125 6 2 238 +-9.23710-16 2.434100-1 2.255700-1-5.031500-4-1.174600-4 1.798700-5 125 6 2 239 + 6.829500-6-7.258400-7-3.428000-7 3.45140-10 1.90530-10 1.10680-11 125 6 2 240 + 6.83050-12-4.25110-14-2.86740-14 125 6 2 241 + 0.000000+0 1.800000+6 1 0 21 6 125 6 2 242 + 4.417900-1 5.417900-5 1.617300-8 3.09410-12-3.34370-15-1.10490-15 125 6 2 243 +-1.15460-15 2.303500-1 2.208800-1-5.153800-4-1.159300-4 1.981400-5 125 6 2 244 + 7.294800-6-8.478300-7-3.873900-7 4.26720-10 2.27770-10 1.45760-11 125 6 2 245 + 8.68730-12-5.93860-14-3.86370-14 125 6 2 246 + 0.000000+0 1.900000+6 1 0 21 6 125 6 2 247 + 4.321400-1 5.932800-5 2.026300-8 4.33330-12-3.44820-15-1.34280-15 125 6 2 248 +-1.30560-15 2.184100-1 2.160500-1-5.264300-4-1.142200-4 2.169800-5 125 6 2 249 + 7.759600-6-9.812100-7-4.345800-7 5.21000-10 2.69470-10 1.88950-11 125 6 2 250 + 1.09000-11-8.13880-14-5.12000-14 125 6 2 251 + 0.000000+0 2.000000+6 1 0 21 6 125 6 2 252 + 4.223800-1 6.454300-5 2.506900-8 5.95980-12-4.02290-15-1.56490-15 125 6 2 253 +-1.31450-15 2.074700-1 2.111600-1-5.364000-4-1.123300-4 2.363500-5 125 6 2 254 + 8.223700-6-1.126300-6-4.843600-7 6.29030-10 3.15840-10 2.41500-11 125 6 2 255 + 1.35120-11-1.09660-13-6.68420-14 125 6 2 256 + 0.000000+0 2.100000+6 1 0 21 6 125 6 2 257 + 4.126200-1 6.981300-5 3.066700-8 8.06340-12-4.49310-15-1.65480-15 125 6 2 258 +-1.45660-15 1.974300-1 2.062800-1-5.453200-4-1.102900-4 2.562400-5 125 6 2 259 + 8.687000-6-1.283300-6-5.366700-7 7.51860-10 3.67100-10 3.04780-11 125 6 2 260 + 1.65670-11-1.45500-13-8.60970-14 125 6 2 261 + 0.000000+0 2.200000+6 1 0 21 6 125 6 2 262 + 4.029400-1 7.512900-5 3.713400-8 1.07490-11-5.22460-15-1.77640-15 125 6 2 263 +-1.68750-15 1.882000-1 2.014400-1-5.532800-4-1.081200-4 2.766200-5 125 6 2 264 + 9.149100-6-1.452400-6-5.914800-7 8.90560-10 4.23450-10 3.80270-11 125 6 2 265 + 2.01140-11-1.90410-13-1.09560-13 125 6 2 266 + 0.000000+0 2.300000+6 1 0 21 6 125 6 2 267 + 3.934100-1 8.048300-5 4.454900-8 1.41360-11-6.00830-15-1.83980-15 125 6 2 268 +-1.63420-15 1.797000-1 1.966700-1-5.603100-4-1.058100-4 2.974700-5 125 6 2 269 + 9.610100-6-1.634000-6-6.487500-7 1.046200-9 4.85080-10 4.69550-11 125 6 2 270 + 2.42020-11-2.46070-13-1.37870-13 125 6 2 271 + 0.000000+0 2.400000+6 1 0 21 6 125 6 2 272 + 3.840700-1 8.587000-5 5.299600-8 1.83610-11-7.00090-15-2.25220-15 125 6 2 273 +-1.42110-15 1.718600-1 1.919900-1-5.664800-4-1.033900-4 3.187800-5 125 6 2 274 + 1.007000-5-1.828200-6-7.084500-7 1.219800-9 5.52210-10 5.74330-11 125 6 2 275 + 2.88840-11-3.14390-13-1.71770-13 125 6 2 276 + 0.000000+0 2.500000+6 1 0 21 6 125 6 2 277 + 3.749500-1 9.128200-5 6.255900-8 2.35830-11-8.30710-15-2.31560-15 125 6 2 278 +-1.92730-15 1.646100-1 1.874300-1-5.718100-4-1.008700-4 3.405100-5 125 6 2 279 + 1.052800-5-2.035200-6-7.705300-7 1.412600-9 6.25010-10 6.96430-11 125 6 2 280 + 3.42120-11-3.97480-13-2.12020-13 125 6 2 281 + 0.000000+0 2.600000+6 1 0 21 6 125 6 2 282 + 3.660700-1 9.671600-5 7.332300-8 2.99740-11-1.00310-14-2.31030-15 125 6 2 283 +-1.97180-15 1.578900-1 1.829900-1-5.763700-4-9.824400-5 3.626600-5 125 6 2 284 + 1.098400-5-2.255200-6-8.349500-7 1.625500-9 7.03660-10 8.37790-11 125 6 2 285 + 4.02460-11-4.97730-13-2.59480-13 125 6 2 286 + 0.000000+0 2.700000+6 1 0 21 6 125 6 2 287 + 3.574400-1 1.021700-4 8.537900-8 3.77340-11-1.19640-14-2.40550-15 125 6 2 288 +-2.12270-15 1.516600-1 1.786700-1-5.801800-4-9.552800-5 3.852100-5 125 6 2 289 + 1.143900-5-2.488400-6-9.016700-7 1.859600-9 7.88340-10 1.00050-10 125 6 2 290 + 4.70420-11-6.17760-13-3.15080-13 125 6 2 291 + 0.000000+0 2.800000+6 1 0 21 6 125 6 2 292 + 3.490800-1 1.076300-4 9.881500-8 4.70810-11-1.43680-14-2.72800-15 125 6 2 293 +-2.31810-15 1.458700-1 1.744800-1-5.832800-4-9.272900-5 4.081400-5 125 6 2 294 + 1.189200-5-2.735000-6-9.706400-7 2.116100-9 8.79210-10 1.18670-10 125 6 2 295 + 5.46620-11-7.60460-13-3.79810-13 125 6 2 296 + 0.000000+0 2.900000+6 1 0 21 6 125 6 2 297 + 3.409800-1 1.131000-4 1.137200-7 5.82610-11-1.76590-14-2.90240-15 125 6 2 298 +-2.46910-15 1.404700-1 1.704300-1-5.857000-4-8.985100-5 4.314300-5 125 6 2 299 + 1.234300-5-2.995000-6-1.041800-6 2.395900-9 9.76450-10 1.39870-10 125 6 2 300 + 6.31700-11-9.29030-13-4.54760-13 125 6 2 301 + 0.000000+0 3.000000+6 1 0 21 6 125 6 2 302 + 3.331500-1 1.185800-4 1.302000-7 7.15430-11-2.17860-14-2.94470-15 125 6 2 303 +-2.39810-15 1.354300-1 1.665100-1-5.874800-4-8.690000-5 4.550700-5 125 6 2 304 + 1.279200-5-3.268700-6-1.115200-6 2.700200-9 1.080200-9 1.63900-10 125 6 2 305 + 7.26310-11-1.12700-12-5.41070-13 125 6 2 306 + 0.000000+0 3.200000+6 1 0 21 6 125 6 2 307 + 3.182600-1 1.295300-4 1.682300-7 1.05630-10-3.30720-14-3.27780-15 125 6 2 308 +-2.68230-15 1.263200-1 1.590600-1-5.892100-4-8.080100-5 5.033600-5 125 6 2 309 + 1.368400-5-3.857500-6-1.268300-6 3.386400-9 1.307800-9 2.21480-10 125 6 2 310 + 9.46850-11-1.62650-12-7.52850-13 125 6 2 311 + 0.000000+0 3.400000+6 1 0 21 6 125 6 2 312 + 3.043700-1 1.404700-4 2.136700-7 1.52070-10-5.02600-14-3.44170-15 125 6 2 313 +-2.86880-15 1.183000-1 1.521000-1-5.886800-4-7.446500-5 5.528900-5 125 6 2 314 + 1.456700-5-4.502500-6-1.429500-6 4.183100-9 1.563200-9 2.93620-10 125 6 2 315 + 1.21390-10-2.29370-12-1.02610-12 125 6 2 316 + 0.000000+0 3.600000+6 1 0 21 6 125 6 2 317 + 2.914200-1 1.513800-4 2.673200-7 2.14110-10-7.60700-14-3.87260-15 125 6 2 318 +-3.14420-15 1.112100-1 1.456200-1-5.860800-4-6.792400-5 6.035800-5 125 6 2 319 + 1.544200-5-5.204300-6-1.598600-6 5.098400-9 1.847500-9 3.82740-10 125 6 2 320 + 1.53340-10-3.16910-12-1.37330-12 125 6 2 321 + 0.000000+0 3.800000+6 1 0 21 6 125 6 2 322 + 2.793400-1 1.622300-4 3.299600-7 2.95540-10-1.13740-13-4.12900-15 125 6 2 323 +-3.34840-15 1.049100-1 1.395700-1-5.815700-4-6.120200-5 6.553200-5 125 6 2 324 + 1.630700-5-5.963800-6-1.775100-6 6.140500-9 2.161400-9 4.91480-10 125 6 2 325 + 1.91180-10-4.29980-12-1.80820-12 125 6 2 326 + 0.000000+0 4.000000+6 1 0 21 6 125 6 2 327 + 2.680800-1 1.730200-4 4.024000-7 4.00760-10-1.68230-13-4.41450-15 125 6 2 328 +-3.58820-15 9.926300-2 1.339300-1-5.753000-4-5.432100-5 7.080300-5 125 6 2 329 + 1.716400-5-6.781500-6-1.958700-6 7.317100-9 2.505900-9 6.22680-10 125 6 2 330 + 2.35570-10-5.73980-12-2.34660-12 125 6 2 331 + 0.000000+0 4.200000+6 1 0 21 6 125 6 2 332 + 2.575700-1 1.837300-4 4.854600-7 5.34810-10-2.44460-13-4.76340-15 125 6 2 333 +-3.85910-15 9.419200-2 1.286600-1-5.674100-4-4.730200-5 7.616500-5 125 6 2 334 + 1.801000-5-7.657900-6-2.149100-6 8.635800-9 2.881600-9 7.79440-10 125 6 2 335 + 2.87200-10-7.55070-12-3.00540-12 125 6 2 336 + 0.000000+0 4.400000+6 1 0 21 6 125 6 2 337 + 2.477400-1 1.943500-4 5.799300-7 7.03430-10-3.50990-13-4.96430-15 125 6 2 338 +-4.00570-15 8.961300-2 1.237400-1-5.580100-4-4.016100-5 8.161000-5 125 6 2 339 + 1.884800-5-8.593400-6-2.345800-6 1.010400-8 3.289300-9 9.65050-10 125 6 2 340 + 3.46800-10-9.80210-12-3.80390-12 125 6 2 341 + 0.000000+0 4.600000+6 1 0 21 6 125 6 2 342 + 2.385500-1 2.048600-4 6.866200-7 9.13120-10-4.96280-13-5.24710-15 125 6 2 343 +-4.27660-15 8.546000-2 1.191300-1-5.472300-4-3.291400-5 8.713100-5 125 6 2 344 + 1.967500-5-9.588300-6-2.548600-6 1.172900-8 3.729500-9 1.183000-9 125 6 2 345 + 4.15130-10-1.25720-11-4.76260-12 125 6 2 346 + 0.000000+0 4.800000+6 1 0 21 6 125 6 2 347 + 2.299300-1 2.152700-4 8.063300-7 1.171100-9-6.92180-13-5.49300-15 125 6 2 348 +-4.50310-15 8.167800-2 1.148100-1-5.351500-4-2.557400-5 9.272200-5 125 6 2 349 + 2.049400-5-1.064300-5-2.757100-6 1.351600-8 4.202600-9 1.437200-9 125 6 2 350 + 4.92970-10-1.59490-11-5.90440-12 125 6 2 351 + 0.000000+0 5.000000+6 1 0 21 6 125 6 2 352 + 2.218400-1 2.255500-4 9.398500-7 1.485500-9-9.52860-13-5.76790-15 125 6 2 353 +-4.75620-15 7.822300-2 1.107500-1-5.218700-4-1.815300-5 9.837800-5 125 6 2 354 + 2.130200-5-1.175700-5-2.971000-6 1.547400-8 4.709100-9 1.731400-9 125 6 2 355 + 5.81140-10-2.00300-11-7.25390-12 125 6 2 356 + 0.000000+0 5.500000+6 1 0 21 6 125 6 2 357 + 2.036800-1 2.506900-4 1.339100-6 2.579500-9-2.00990-12-6.38910-15 125 6 2 358 +-5.37350-15 7.076500-2 1.016400-1-4.839800-4 6.785600-7 1.127600-4 125 6 2 359 + 2.328100-5-1.480500-5-3.526800-6 2.114700-8 6.122400-9 2.670900-9 125 6 2 360 + 8.52360-10-3.40450-11-1.17160-11 125 6 2 361 + 0.000000+0 6.000000+6 1 0 21 6 125 6 2 362 + 1.880000-1 2.749300-4 1.841200-6 4.250100-9-3.96850-12-6.69830-15 125 6 2 363 +-5.89310-15 6.464300-2 9.377000-2-4.402900-4 1.979600-5 1.274300-4 125 6 2 364 + 2.520100-5-1.822600-5-4.108800-6 2.800100-8 7.747500-9 3.960400-9 125 6 2 365 + 1.207400-9-5.51590-11-1.81250-11 125 6 2 366 + 0.000000+0 6.500000+6 1 0 21 6 125 6 2 367 + 1.743700-1 2.982000-4 2.457000-6 6.701600-9-7.40420-12-6.62700-15 125 6 2 368 +-6.50150-15 5.953200-2 8.691700-2-3.917700-4 3.908100-5 1.423200-4 125 6 2 369 + 2.706200-5-2.201600-5-4.711800-6 3.610100-8 9.583000-9 5.681500-9 125 6 2 370 + 1.661100-9-8.58490-11-2.70430-11 125 6 2 371 + 0.000000+0 7.000000+6 1 0 21 6 125 6 2 372 + 1.624100-1 3.204500-4 3.196500-6 1.018000-8-1.31590-11-5.92910-15 125 6 2 373 +-7.01660-15 5.520300-2 8.090400-2-3.392600-4 5.843600-5 1.573700-4 125 6 2 374 + 2.886500-5-2.617200-5-5.331300-6 4.550000-8 1.162500-8 7.924700-9 125 6 2 375 + 2.229400-9-1.29140-10-3.91260-11 125 6 2 376 + 0.000000+0 7.500000+6 1 0 21 6 125 6 2 377 + 1.518500-1 3.416500-4 4.068500-6 1.497600-8-2.24210-11-3.84880-15 125 6 2 378 +-7.55400-15 5.149200-2 7.559100-2-2.834600-4 7.778000-5 1.725200-4 125 6 2 379 + 3.061300-5-3.068500-5-5.962500-6 5.623100-8 1.386600-8 1.079000-8 125 6 2 380 + 2.929000-9-1.88630-10-5.51300-11 125 6 2 381 + 0.000000+0 8.000000+6 1 0 21 6 125 6 2 382 + 1.424800-1 3.618000-4 5.080700-6 2.142500-8-3.68260-11 4.89030-16 125 6 2 383 +-8.11350-15 4.827400-2 7.086600-2-2.249700-4 9.704900-5 1.877300-4 125 6 2 384 + 3.230600-5-3.554800-5-6.601300-6 6.830800-8 1.629600-8 1.438500-8 125 6 2 385 + 3.777400-9-2.68610-10-7.59120-11 125 6 2 386 + 0.000000+0 8.500000+6 1 0 21 6 125 6 2 387 + 1.341000-1 3.808900-4 6.239300-6 2.991000-8-5.85610-11 8.48790-15 125 6 2 388 +-8.65530-15 4.545700-2 6.664000-2-1.643400-4 1.161900-4 2.029600-4 125 6 2 389 + 3.394800-5-4.075000-5-7.243600-6 8.172700-8 1.890300-8 1.882900-8 125 6 2 390 + 4.793000-9-3.74030-10-1.02440-10 125 6 2 391 + 0.000000+0 9.000000+6 1 0 21 6 125 6 2 392 + 1.265700-1 3.989300-4 7.549200-6 4.086000-8-9.04980-11 2.24640-14 125 6 2 393 +-9.21260-15 4.297000-2 6.283900-2-1.020100-4 1.351500-4 2.181600-4 125 6 2 394 + 3.553800-5-4.628000-5-7.885700-6 9.646400-8 2.167100-8 2.424800-8 125 6 2 395 + 5.994700-9-5.10630-10-1.35780-10 125 6 2 396 + 0.000000+0 9.500000+6 1 0 21 6 125 6 2 397 + 1.197800-1 4.159600-4 9.014100-6 5.475300-8-1.36330-10 4.55670-14 125 6 2 398 +-9.74550-15 4.075800-2 5.940300-2-3.839600-5 1.539000-4 2.333100-4 125 6 2 399 + 3.708000-5-5.212700-5-8.524200-6 1.124800-7 2.458400-8 3.077600-8 125 6 2 400 + 7.402300-9-6.84940-10-1.77130-10 125 6 2 401 + 0.000000+0 1.000000+7 1 0 21 6 125 6 2 402 + 1.136100-1 4.319900-4 1.063600-5 7.211100-8-2.00710-10 8.25620-14 125 6 2 403 +-1.02610-14 3.877700-2 5.628400-2 2.614500-5 1.724000-4 2.483700-4 125 6 2 404 + 3.857400-5-5.827800-5-9.155700-6 1.297100-7 2.762200-8 3.855800-8 125 6 2 405 + 9.036100-9-9.04350-10-2.27810-10 125 6 2 406 + 0.000000+0 1.050000+7 1 0 21 6 125 6 2 407 + 1.080000-1 4.470700-4 1.241500-5 9.350000-8-2.89440-10 1.40100-13 125 6 2 408 +-1.08270-14 3.699300-2 5.344000-2 9.129400-5 1.906300-4 2.633200-4 125 6 2 409 + 4.002300-5-6.471800-5-9.777400-6 1.480600-7 3.076300-8 4.774500-8 125 6 2 410 + 1.091700-8-1.177200-9-2.89220-10 125 6 2 411 + 0.000000+0 1.100000+7 1 0 21 6 125 6 2 412 + 1.028700-1 4.612300-4 1.435200-5 1.195300-7-4.09650-10 2.27440-13 125 6 2 413 +-1.13380-14 3.537600-2 5.083800-2 1.567700-4 2.085800-4 2.781300-4 125 6 2 414 + 4.142900-5-7.143300-5-1.038600-5 1.674500-7 3.398400-8 5.849600-8 125 6 2 415 + 1.306600-8-1.512700-9-3.62940-10 125 6 2 416 + 0.000000+0 1.150000+7 1 0 21 6 125 6 2 417 + 9.817000-2 4.745300-4 1.644300-5 1.508500-7-5.69960-10 3.57180-13 125 6 2 418 +-1.17790-14 3.390400-2 4.844700-2 2.223300-4 2.262100-4 2.927800-4 125 6 2 419 + 4.279200-5-7.840800-5-1.098000-5 1.877500-7 3.726000-8 7.097900-8 125 6 2 420 + 1.550500-8-1.921100-9-4.50620-10 125 6 2 421 + 0.000000+0 1.200000+7 1 0 21 6 125 6 2 422 + 9.384100-2 4.870000-4 1.868600-5 1.881300-7-7.80690-10 5.46320-13 125 6 2 423 +-1.22150-14 3.255800-2 4.624500-2 2.877400-4 2.435200-4 3.072500-4 125 6 2 424 + 4.411500-5-8.562800-5-1.155700-5 2.088300-7 4.056400-8 8.536900-8 125 6 2 425 + 1.825700-8-2.413800-9-5.54080-10 125 6 2 426 + 0.000000+0 1.250000+7 1 0 21 6 125 6 2 427 + 8.984600-2 4.987000-4 2.107500-5 2.321000-7-1.054100-9 8.17240-13 125 6 2 428 +-1.25790-14 3.132200-2 4.420800-2 3.528000-4 2.605000-4 3.215200-4 125 6 2 429 + 4.540000-5-9.307600-5-1.211400-5 2.305100-7 4.386800-8 1.018500-7 125 6 2 430 + 2.134400-8-3.003100-9-6.75240-10 125 6 2 431 + 0.000000+0 1.300000+7 1 0 21 6 125 6 2 432 + 8.614800-2 5.096800-4 2.360500-5 2.834900-7-1.404400-9 1.19930-12 125 6 2 433 +-1.28210-14 3.018200-2 4.232100-2 4.173400-4 2.771300-4 3.355800-4 125 6 2 434 + 4.664600-5-1.007300-4-1.265000-5 2.526300-7 4.714300-8 1.206000-7 125 6 2 435 + 2.479000-8-3.702500-9-8.16150-10 125 6 2 436 + 0.000000+0 1.350000+7 1 0 21 6 125 6 2 437 + 8.271600-2 5.199700-4 2.626900-5 3.430600-7-1.848500-9 1.73030-12 125 6 2 438 +-1.29010-14 2.912800-2 4.056700-2 4.812000-4 2.934200-4 3.494100-4 125 6 2 439 + 4.785700-5-1.085900-4-1.316200-5 2.750000-7 5.035700-8 1.418300-7 125 6 2 440 + 2.861700-8-4.526800-9-9.79010-10 125 6 2 441 + 0.000000+0 1.400000+7 1 0 21 6 125 6 2 442 + 7.952400-2 5.296300-4 2.905800-5 4.115900-7-2.405400-9 2.45880-12 125 6 2 443 +-1.27590-14 2.815000-2 3.893200-2 5.442300-4 3.093500-4 3.630000-4 125 6 2 444 + 4.903200-5-1.166200-4-1.365000-5 2.974000-7 5.347800-8 1.657300-7 125 6 2 445 + 3.284900-8-5.491700-9-1.166100-9 125 6 2 446 + 0.000000+0 1.450000+7 1 0 21 6 125 6 2 447 + 7.654700-2 5.387000-4 3.196400-5 4.898600-7-3.097100-9 3.44570-12 125 6 2 448 +-1.21990-14 2.723900-2 3.740600-2 6.063200-4 3.249200-4 3.763400-4 125 6 2 449 + 5.017400-5-1.248100-4-1.411200-5 3.196000-7 5.647400-8 1.925100-7 125 6 2 450 + 3.751000-8-6.614300-9-1.379900-9 125 6 2 451 + 0.000000+0 1.500000+7 1 0 21 6 125 6 2 452 + 7.376500-2 5.472300-4 3.497700-5 5.786600-7-3.948600-9 4.76760-12 125 6 2 453 +-1.12420-14 2.638900-2 3.597700-2 6.673400-4 3.401400-4 3.894100-4 125 6 2 454 + 5.128300-5-1.331500-4-1.454600-5 3.413700-7 5.931100-8 2.223900-7 125 6 2 455 + 4.262400-8-7.913000-9-1.623000-9 125 6 2 456 + 0.000000+0 1.550000+7 1 0 21 6 125 6 2 457 + 7.116000-2 5.552400-4 3.808500-5 6.787700-7-4.987900-9 6.51950-12 125 6 2 458 +-9.55900-15 2.559400-2 3.463700-2 7.272100-4 3.550000-4 4.022200-4 125 6 2 459 + 5.236100-5-1.416100-4-1.495200-5 3.624400-7 6.195300-8 2.555700-7 125 6 2 460 + 4.821600-8-9.407300-9-1.898100-9 125 6 2 461 + 0.000000+0 1.600000+7 1 0 21 6 125 6 2 462 + 6.871600-2 5.627900-4 4.127800-5 7.909600-7-6.246500-9 8.81820-12 125 6 2 463 +-6.95670-15 2.484800-2 3.337700-2 7.858200-4 3.695000-4 4.147400-4 125 6 2 464 + 5.340700-5-1.501800-4-1.532800-5 3.825400-7 6.436600-8 2.922900-7 125 6 2 465 + 5.431000-8-1.111800-8-2.208000-9 125 6 2 466 + 0.000000+0 1.700000+7 1 0 21 6 125 6 2 467 + 6.425700-2 5.766300-4 4.786900-5 1.054600-6-9.564600-9 1.56570-11 125 6 2 468 + 2.33150-15 2.348500-2 3.107300-2 8.990100-4 3.974200-4 4.389400-4 125 6 2 469 + 5.541300-5-1.675700-4-1.598700-5 4.186600-7 6.835900-8 3.772300-7 125 6 2 470 + 6.810300-8-1.528000-8-2.944100-9 125 6 2 471 + 0.000000+0 1.800000+7 1 0 21 6 125 6 2 472 + 6.029100-2 5.889700-4 5.464900-5 1.375300-6-1.422800-8 2.68180-11 125 6 2 473 + 2.04840-14 2.227100-2 2.901700-2 1.006400-3 4.239300-4 4.619500-4 125 6 2 474 + 5.730600-5-1.851800-4-1.651800-5 4.472700-7 7.099600-8 4.790700-7 125 6 2 475 + 8.420300-8-2.059400-8-3.856500-9 125 6 2 476 + 0.000000+0 1.900000+7 1 0 21 6 125 6 2 477 + 5.674400-2 6.000100-4 6.151100-5 1.758200-6-2.062300-8 4.44920-11 125 6 2 478 + 5.36060-14 2.118200-2 2.717200-2 1.107600-3 4.490500-4 4.837600-4 125 6 2 479 + 5.909100-5-2.028800-4-1.691400-5 4.657000-7 7.197800-8 5.997300-7 125 6 2 480 + 1.028100-7-2.727400-8-4.972300-9 125 6 2 481 + 0.000000+0 2.000000+7 1 0 21 6 125 6 2 482 + 5.355400-2 6.099300-4 6.834600-5 2.207600-6-2.920400-8 7.17370-11 125 6 2 483 + 1.11330-13 2.019700-2 2.550700-2 1.202400-3 4.728200-4 5.043400-4 125 6 2 484 + 6.077300-5-2.205200-4-1.717200-5 4.711400-7 7.100400-8 7.411400-7 125 6 2 485 + 1.241200-7-3.556100-8-6.320400-9 125 6 2 486 + 0.000000+0 2.100000+7 1 0 21 6 125 6 2 487 + 5.067100-2 6.188200-4 7.504600-5 2.726700-6-4.049100-8 1.12720-10 125 6 2 488 + 2.08310-13 1.930300-2 2.399600-2 1.290500-3 4.952600-4 5.236800-4 125 6 2 489 + 6.235600-5-2.379800-4-1.728600-5 4.606000-7 6.777300-8 9.053000-7 125 6 2 490 + 1.483500-7-4.571500-8-7.931700-9 125 6 2 491 + 0.000000+0 2.200000+7 1 0 21 6 125 6 2 492 + 4.805400-2 6.267700-4 8.150800-5 3.317800-6-5.506900-8 1.73040-10 125 6 2 493 + 3.66330-13 1.848600-2 2.262000-2 1.371900-3 5.164200-4 5.418000-4 125 6 2 494 + 6.384200-5-2.551300-4-1.725500-5 4.309900-7 6.198700-8 1.094200-6 125 6 2 495 + 1.756900-7-5.802000-8-9.838700-9 125 6 2 496 + 0.000000+0 2.300000+7 1 0 21 6 125 6 2 497 + 4.566900-2 6.338400-4 8.763000-5 3.981600-6-7.358700-8 2.60050-10 125 6 2 498 + 6.17080-13 1.773600-2 2.136100-2 1.446600-3 5.363500-4 5.586800-4 125 6 2 499 + 6.523500-5-2.718500-4-1.707600-5 3.791000-7 5.335200-8 1.309800-6 125 6 2 500 + 2.063400-7-7.278300-8-1.207500-8 125 6 2 501 + 0.000000+0 2.400000+7 1 0 21 6 125 6 2 502 + 4.348800-2 6.400500-4 9.332200-5 4.717500-6-9.674900-8 3.83260-10 125 6 2 503 + 1.00570-12 1.704400-2 2.020600-2 1.514600-3 5.550900-4 5.743500-4 125 6 2 504 + 6.653500-5-2.880200-4-1.674600-5 3.016600-7 4.158100-8 1.554100-6 125 6 2 505 + 2.405100-7-9.033200-8-1.467700-8 125 6 2 506 + 0.000000+0 2.500000+7 1 0 21 6 125 6 2 507 + 4.148500-2 6.454000-4 9.850000-5 5.523600-6-1.253100-7 5.54840-10 125 6 2 508 + 1.59570-12 1.640400-2 1.914200-2 1.575900-3 5.726900-4 5.888200-4 125 6 2 509 + 6.774500-5-3.035300-4-1.626500-5 1.953300-7 2.639400-8 1.829100-6 125 6 2 510 + 2.784000-7-1.110200-7-1.768200-8 125 6 2 511 + 0.000000+0 2.600000+7 1 0 21 6 125 6 2 512 + 3.964200-2 6.499100-4 1.030900-4 6.396400-6-1.600500-7 7.90080-10 125 6 2 513 + 2.47400-12 1.581000-2 1.815900-2 1.630800-3 5.892100-4 6.021300-4 125 6 2 514 + 6.886600-5-3.182900-4-1.563100-5 5.676600-8 7.525500-9 2.136800-6 125 6 2 515 + 3.202100-7-1.352100-7-2.112700-8 125 6 2 516 + 0.000000+0 2.700000+7 1 0 21 6 125 6 2 517 + 3.794000-2 6.535400-4 1.070300-4 7.330900-6-2.018000-7 1.108000-9 125 6 2 518 + 3.75910-12 1.525500-2 1.724900-2 1.679200-3 6.047000-4 6.142800-4 125 6 2 519 + 6.989900-5-3.321900-4-1.484400-5-1.174100-7-1.528200-8 2.478900-6 125 6 2 520 + 3.661300-7-1.633100-7-2.505200-8 125 6 2 521 + 0.000000+0 2.800000+7 1 0 21 6 125 6 2 522 + 3.636500-2 6.563000-4 1.102800-4 8.320800-6-2.513700-7 1.532000-9 125 6 2 523 + 5.60890-12 1.473700-2 1.640300-2 1.721500-3 6.192100-4 6.253100-4 125 6 2 524 + 7.084500-5-3.451600-4-1.390500-5-3.305500-7-4.227200-8 2.857400-6 125 6 2 525 + 4.163700-7-1.957100-7-2.949700-8 125 6 2 526 + 0.000000+0 2.900000+7 1 0 21 6 125 6 2 527 + 3.490300-2 6.581600-4 1.127900-4 9.358400-6-3.095700-7 2.090500-9 125 6 2 528 + 8.23200-12 1.425100-2 1.561600-2 1.757700-3 6.327900-4 6.352600-4 125 6 2 529 + 7.170500-5-3.571000-4-1.281500-5-5.859700-7-7.367200-8 3.273900-6 125 6 2 530 + 4.711200-7-2.328600-7-3.450400-8 125 6 2 531 + 0.000000+0 3.000000+7 1 0 21 6 125 6 2 532 + 3.354500-2 6.591200-4 1.145400-4 1.043500-5-3.771800-7 2.817600-9 125 6 2 533 + 1.19000-11 1.379400-2 1.488200-2 1.788300-3 6.455200-4 6.441600-4 125 6 2 534 + 7.247900-5-3.679500-4-1.157600-5-8.869500-7-1.096900-7 3.730300-6 125 6 2 535 + 5.305700-7-2.752100-7-4.011400-8 125 6 2 536 + 0.000000+0 3.200000+7 1 0 21 6 125 6 2 537 + 3.109900-2 6.583100-4 1.157400-4 1.266500-5-5.434300-7 4.947800-9 125 6 2 538 + 2.38660-11 1.295600-2 1.355400-2 1.832900-3 6.686100-4 6.589200-4 125 6 2 539 + 7.377600-5-3.861000-4-8.665000-6-1.638200-6-1.963600-7 4.768800-6 125 6 2 540 + 6.643400-7-3.773400-7-5.331200-8 125 6 2 541 + 0.000000+0 3.400000+7 1 0 21 6 125 6 2 542 + 2.896300-2 6.539300-4 1.139400-4 1.492400-5-7.548200-7 8.341800-9 125 6 2 543 + 4.55810-11 1.220500-2 1.238600-2 1.857400-3 6.889300-4 6.699100-4 125 6 2 544 + 7.474400-5-3.991700-4-5.207600-6-2.608700-6-3.036200-7 5.984400-6 125 6 2 545 + 8.191500-7-5.060200-7-6.943500-8 125 6 2 546 + 0.000000+0 3.600000+7 1 0 21 6 125 6 2 547 + 2.708800-2 6.462100-4 1.093800-4 1.711900-5-1.013900-6 1.356300-8 125 6 2 548 + 8.33800-11 1.152600-2 1.135400-2 1.863900-3 7.069400-4 6.774100-4 125 6 2 549 + 7.539200-5-4.068400-4-1.255200-6-3.820600-6-4.324700-7 7.387000-6 125 6 2 550 + 9.964500-7-6.653200-7-8.882400-8 125 6 2 551 + 0.000000+0 3.800000+7 1 0 21 6 125 6 2 552 + 2.543400-2 6.355200-4 1.024900-4 1.915900-5-1.320300-6 2.134900-8 125 6 2 553 + 1.46780-10 1.091000-2 1.043700-2 1.854200-3 7.230500-4 6.817300-4 125 6 2 554 + 7.573100-5-4.088800-4 3.125600-6-5.294000-6-5.836000-7 8.984400-6 125 6 2 555 + 1.197600-6-8.594800-7-1.118100-7 125 6 2 556 + 0.000000+0 4.000000+7 1 0 21 6 125 6 2 557 + 2.396900-2 6.223500-4 9.380500-5 2.096200-5-1.669700-6 3.263400-8 125 6 2 558 + 2.49610-10 1.034700-2 9.619500-3 1.830600-3 7.376400-4 6.831600-4 125 6 2 559 + 7.577600-5-4.051600-4 7.854200-6-7.045700-6-7.573200-7 1.078200-5 125 6 2 560 + 1.423700-6-1.092800-6-1.387300-7 125 6 2 561 + 0.000000+0 4.200000+7 1 0 21 6 125 6 2 562 + 2.266700-2 6.073200-4 8.394500-5 2.246000-5-2.053500-6 4.857700-8 125 6 2 563 + 4.11450-10 9.830900-3 8.888200-3 1.794900-3 7.510500-4 6.819900-4 125 6 2 564 + 7.554200-5-3.956300-4 1.283900-5-9.089600-6-9.535700-7 1.278300-5 125 6 2 565 + 1.676000-6-1.369700-6-1.698800-7 125 6 2 566 + 0.000000+0 4.400000+7 1 0 21 6 125 6 2 567 + 2.150700-2 5.910900-4 7.359600-5 2.360900-5-2.457700-6 7.057600-8 125 6 2 568 + 6.59230-10 9.355200-3 8.232100-3 1.749000-3 7.635500-4 6.785000-4 125 6 2 569 + 7.504600-5-3.803200-4 1.798100-5-1.143600-5-1.171900-6 1.498700-5 125 6 2 570 + 1.955400-6-1.694400-6-2.055600-7 125 6 2 571 + 0.000000+0 4.600000+7 1 0 21 6 125 6 2 572 + 2.047000-2 5.743500-4 6.345600-5 2.438900-5-2.862700-6 1.002800-7 125 6 2 573 + 1.029200-9 8.915600-3 7.642200-3 1.694600-3 7.753800-4 6.729300-4 125 6 2 574 + 7.430800-5-3.593500-4 2.317800-5-1.409100-5-1.411600-6 1.739300-5 125 6 2 575 + 2.262500-6-2.071200-6-2.460100-7 125 6 2 576 + 0.000000+0 4.800000+7 1 0 21 6 125 6 2 577 + 1.954100-2 5.577800-4 5.419800-5 2.480900-5-3.243400-6 1.396000-7 125 6 2 578 + 1.568900-9 8.508500-3 7.110700-3 1.633300-3 7.866800-4 6.655500-4 125 6 2 579 + 7.334600-5-3.328600-4 2.832900-5-1.705900-5-1.671400-6 1.999500-5 125 6 2 580 + 2.597900-6-2.504100-6-2.914700-7 125 6 2 581 + 0.000000+0 5.000000+7 1 0 21 6 125 6 2 582 + 1.870500-2 5.420000-4 4.644100-5 2.490600-5-3.569000-6 1.906800-7 125 6 2 583 + 2.339500-9 8.130500-3 6.631200-3 1.566600-3 7.975700-4 6.565600-4 125 6 2 584 + 7.218300-5-3.010900-4 3.334000-5-2.033700-5-1.949700-6 2.278400-5 125 6 2 585 + 2.961800-6-2.996800-6-3.421100-7 125 6 2 586 + 0.000000+0 5.500000+7 1 0 21 6 125 6 2 587 + 1.695000-2 5.094000-4 3.688400-5 2.424000-5-3.896000-6 3.858600-7 125 6 2 588 + 5.828400-9 7.296600-3 5.623700-3 1.385500-3 8.232200-4 6.284600-4 125 6 2 589 + 6.852700-5-2.003400-4 4.473100-5-2.985100-5-2.713900-6 3.050200-5 125 6 2 590 + 3.993300-6-4.512500-6-4.922600-7 125 6 2 591 + 0.000000+0 6.000000+7 1 0 21 6 125 6 2 592 + 1.556000-2 4.907800-4 4.511000-5 2.371800-5-2.988500-6 7.108900-7 125 6 2 593 + 1.304100-8 6.596200-3 4.835700-3 1.198100-3 8.462600-4 5.945300-4 125 6 2 594 + 6.406700-5-7.352600-5 5.388200-5-4.108300-5-3.544200-6 3.907100-5 125 6 2 595 + 5.184500-6-6.465700-6-6.764400-7 125 6 2 596 + 0.000000+0 6.500000+7 1 0 21 6 125 6 2 597 + 1.442900-2 4.879900-4 7.166100-5 2.554400-5-1.628400-7 1.207400-6 125 6 2 598 + 2.661300-8 6.004500-3 4.214600-3 1.019500-3 8.655300-4 5.571000-4 125 6 2 599 + 5.910900-5 7.271800-5 6.067200-5-5.370800-5-4.394700-6 4.814600-5 125 6 2 600 + 6.499100-6-8.877600-6-8.932300-7 125 6 2 601 + 0.000000+0 7.000000+7 1 0 21 6 125 6 2 602 + 1.348500-2 4.994600-4 1.127300-4 3.180300-5 5.111000-6 1.908500-6 125 6 2 603 + 5.010300-8 5.501900-3 3.720200-3 8.609000-4 8.797700-4 5.180600-4 125 6 2 604 + 5.393400-5 2.305900-4 6.570700-5-6.727700-5-5.214700-6 5.729900-5 125 6 2 605 + 7.876200-6-1.174200-5-1.138600-6 125 6 2 606 + 0.000000+0 7.500000+7 1 0 21 6 125 6 2 607 + 1.268300-2 5.214600-4 1.615700-4 4.374800-5 1.301200-5 2.826800-6 125 6 2 608 + 8.778500-8 5.071700-3 3.320700-3 7.306400-4 8.882600-4 4.789900-4 125 6 2 609 + 4.878400-5 3.913500-4 7.004200-5-8.124000-5-5.954500-6 6.605000-5 125 6 2 610 + 9.231500-6-1.502000-5-1.406000-6 125 6 2 611 + 0.000000+0 8.000000+7 1 0 21 6 125 6 2 612 + 1.199700-2 5.493100-4 2.102600-4 6.122000-5 2.321100-5 3.943800-6 125 6 2 613 + 1.440700-7 4.699600-3 2.991200-3 6.337300-4 8.911400-4 4.412400-4 125 6 2 614 + 4.386800-5 5.456300-4 7.474800-5-9.497000-5-6.570700-6 7.389600-5 125 6 2 615 + 1.046200-5-1.863700-5-1.686000-6 125 6 2 616 + 0.000000+0 8.500000+7 1 0 21 6 125 6 2 617 + 1.141000-2 5.782900-4 2.513800-4 8.236500-5 3.481100-5 5.200000-6 125 6 2 618 + 2.225200-7 4.373200-3 2.711500-3 5.723000-4 8.895300-4 4.060300-4 125 6 2 619 + 3.936400-5 6.840000-4 8.046400-5-1.077900-4-7.030300-6 8.034700-5 125 6 2 620 + 1.145600-5-2.247500-5-1.966900-6 125 6 2 621 + 0.000000+0 9.000000+7 1 0 21 6 125 6 2 622 + 1.090700-2 6.039800-4 2.792300-4 1.038000-4 4.641400-5 6.491900-6 125 6 2 623 + 3.243700-7 4.081800-3 2.466000-3 5.457300-4 8.853300-4 3.745200-4 125 6 2 624 + 3.542500-5 7.976200-4 8.707000-5-1.190000-4-7.314000-6 8.495100-5 125 6 2 625 + 1.210900-5-2.637800-5-2.234900-6 125 6 2 626 + 0.000000+0 9.500000+7 1 0 21 6 125 6 2 627 + 1.046900-2 6.223700-4 2.905000-4 1.212400-4 5.632200-5 7.675300-6 125 6 2 628 + 4.468700-7 3.816300-3 2.242600-3 5.510200-4 8.808500-4 3.478600-4 125 6 2 629 + 3.218500-5 8.789600-4 9.362400-5-1.279100-4-7.417300-6 8.733000-5 125 6 2 630 + 1.233600-5-3.014200-5-2.474300-6 125 6 2 631 + 0.000000+0 1.000000+8 1 0 21 6 125 6 2 632 + 1.007300-2 6.296800-4 2.843200-4 1.304400-4 6.282400-5 8.578200-6 125 6 2 633 + 5.814700-7 3.569300-3 2.032700-3 5.832600-4 8.784200-4 3.272500-4 125 6 2 634 + 2.977100-5 9.224200-4 9.856800-5-1.338300-4-7.348600-6 8.720600-5 125 6 2 635 + 1.208500-5-3.351900-5-2.668700-6 125 6 2 636 + 0.000000+0 1.100000+8 1 0 21 6 125 6 2 637 + 9.327700-3 5.985100-4 2.267100-4 1.135700-4 6.070200-5 8.864300-6 125 6 2 638 + 8.171200-7 3.107200-3 1.632900-3 7.031700-4 8.871200-4 3.093500-4 125 6 2 639 + 2.800000-5 8.848100-4 9.686100-5-1.342600-4-6.767600-6 7.899000-5 125 6 2 640 + 1.016800-5-3.789800-5-2.853200-6 125 6 2 641 + 0.000000+0 1.200000+8 1 0 21 6 125 6 2 642 + 8.587200-3 4.994700-4 1.340100-4 5.457500-5 3.785700-5 6.528600-6 125 6 2 643 + 8.327500-7 2.659400-3 1.247500-3 8.521700-4 9.208800-4 3.320700-4 125 6 2 644 + 3.183500-5 6.849900-4 7.374800-5-1.161000-4-5.685200-6 6.128200-5 125 6 2 645 + 6.862100-6-3.663800-5-2.642300-6 125 6 2 646 + 0.000000+0 1.300000+8 1 0 21 6 125 6 2 647 + 8.002800-3 3.667700-4 4.729400-5-7.285600-6 7.595700-6 2.559800-6 125 6 2 648 + 4.599200-7 2.204000-3 8.829400-4 9.832300-4 9.835900-4 4.082100-4 125 6 2 649 + 4.515100-5 3.495900-4 3.528300-5-7.667200-5-3.957500-6 3.957000-5 125 6 2 650 + 3.451800-6-2.616200-5-1.852200-6 125 6 2 651 + 0.000000+0 1.400000+8 1 0 21 6 125 6 2 652 + 8.012900-3 3.019100-4 3.066000-5-5.307700-6-1.458800-6 6.215000-7 125 6 2 653 + 3.520700-9 1.730700-3 5.577300-4 1.060000-3 1.079100-3 5.510900-4 125 6 2 654 + 7.677100-5-8.305300-5 1.640700-6-1.535200-5-9.084600-7 2.810500-5 125 6 2 655 + 2.128200-6-2.205500-6-1.594900-7 125 6 2 656 + 0.000000+0 1.500000+8 1 0 21 6 125 6 2 657 + 9.283100-3 4.540700-4 2.309700-4 1.386200-4 4.412100-5 4.820100-6 125 6 2 658 + 1.252100-6 1.239400-3 2.931600-4 1.053000-3 1.209400-3 7.707700-4 125 6 2 659 + 1.445700-4-5.740300-4-2.038600-7 6.595800-5 4.754900-6 6.237400-5 125 6 2 660 + 7.335900-6 4.016600-5 3.133500-6 125 6 2 661 + 0.000000+0 0.000000+0 0 0 0 0 125 6 099999 + 0.000000+0 0.000000+0 0 0 0 0 125 0 0 0 + 0.000000+0 0.000000+0 0 0 0 0 0 0 0 0 + 0.000000+0 0.000000+0 0 0 0 0 -1 0 0 0 + diff --git a/Projects/Dali/carbon.reaction b/Projects/Dali/carbon.reaction new file mode 100644 index 0000000000000000000000000000000000000000..c67344707f24a36a1e628d93f49084c4c84a4701 --- /dev/null +++ b/Projects/Dali/carbon.reaction @@ -0,0 +1,32 @@ +%%%%%%%%%%%%%%%%%%%%%% FOR DALI PROTON ELASTIC SCATTERING %%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Beam + Particle= 1H + ExcitationEnergy= 0 MeV + Energy= 170 MeV + SigmaEnergy= 0.448 MeV + SigmaThetaX= 0.01 deg + SigmaPhiY= 0.01 deg + SigmaX= 0.01 mm + %0.5 + SigmaY= 0.01 mm + %0.5 + MeanThetaX= 0 deg + MeanPhiY= 0 deg + MeanX= 0 mm + MeanY= 0 mm + %EnergyProfilePath= + %XThetaXProfilePath= + %YPhiYProfilePath= +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +TwoBodyReaction + Beam= 1H + Target= 12C + Light= 12C + Heavy= 1H + ExcitationEnergyLight= 0.0 MeV + ExcitationEnergyHeavy= 0.0 MeV + CrossSectionPath= flat.txt CSR + ShootLight= 1 + ShootHeavy= 1 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Projects/Dali/proton2.reaction b/Projects/Dali/proton2.reaction new file mode 100644 index 0000000000000000000000000000000000000000..613adcc7eb51dced32b27292de5e715f5fd1b5dc --- /dev/null +++ b/Projects/Dali/proton2.reaction @@ -0,0 +1,32 @@ +%%%%%%%%%%%%%%%%%%%%%% FOR DALI PROTON ELASTIC SCATTERING %%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Beam + Particle= 1H + ExcitationEnergy= 0 + Energy= 180 + SigmaEnergy= 0.448 + SigmaThetaX= 0.01 + SigmaPhiY= 0.01 + SigmaX= 0.01 + %0.5 + SigmaY= 0.01 + %0.5 + MeanThetaX= 0 + MeanPhiY= 0 + MeanX= 0 + MeanY= 0 + %EnergyProfilePath= + %XThetaXProfilePath= + %YPhiYProfilePath= +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +TwoBodyReaction + Beam= 1H + Target= 1H + Light= 1H + Heavy= 1H + ExcitationEnergyLight= 0.0 + ExcitationEnergyHeavy= 0.0 + CrossSectionPath= flat.txt CSR + ShootLight= 1 + ShootHeavy= 1 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Projects/Dali/protonSingle.reaction b/Projects/Dali/protonSingle.reaction new file mode 100644 index 0000000000000000000000000000000000000000..cf1f63939d811b52d92832c94f2104af8d755f2e --- /dev/null +++ b/Projects/Dali/protonSingle.reaction @@ -0,0 +1,32 @@ +%%%%%%%%%%%%%%%%%%%%%% FOR DALI PROTON ELASTIC SCATTERING %%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Beam + Particle= 1H + ExcitationEnergy= 0 + Energy= 180 + SigmaEnergy= 0.448 + SigmaThetaX= 0.01 + SigmaPhiY= 0.01 + SigmaX= 0.01 + %0.5 + SigmaY= 0.01 + %0.5 + MeanThetaX= 5 + MeanPhiY= 0 + MeanX= 0 + MeanY= 0 + %EnergyProfilePath= + %XThetaXProfilePath= + %YPhiYProfilePath= +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +TwoBodyReaction + Beam= 1H + Target= 1H + Light= 1H + Heavy= 1H + ExcitationEnergyLight= 0.0 + ExcitationEnergyHeavy= 0.0 + CrossSectionPath= flat.txt CSR + ShootLight= 1 + ShootHeavy= 0 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Projects/Minos/Analysis.cxx b/Projects/Minos/Analysis.cxx new file mode 100644 index 0000000000000000000000000000000000000000..07ed88ffdd8fe29f0fcca731124ff34d6791b026 --- /dev/null +++ b/Projects/Minos/Analysis.cxx @@ -0,0 +1,68 @@ +/***************************************************************************** + * Copyright (C) 2009-2016 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: XAUTHORX contact address: XMAILX * + * * + * Creation Date : XMONTHX XYEARX * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: * + * This class describe Minos analysis project * + * * + *---------------------------------------------------------------------------* + * Comment: * + * * + *****************************************************************************/ + +#include<iostream> +using namespace std; +#include"Analysis.h" +#include"NPAnalysisFactory.h" +#include"NPDetectorManager.h" +//////////////////////////////////////////////////////////////////////////////// +Analysis::Analysis(){ +} +//////////////////////////////////////////////////////////////////////////////// +Analysis::~Analysis(){ +} + +//////////////////////////////////////////////////////////////////////////////// +void Analysis::Init(){ + Minos= (TMinosPhysicsPhysics*) m_DetectorManager->GetDetector("Minos"); +} + +//////////////////////////////////////////////////////////////////////////////// +void Analysis::TreatEvent(){ +} + +//////////////////////////////////////////////////////////////////////////////// +void Analysis::End(){ +} + + +//////////////////////////////////////////////////////////////////////////////// +// Construct Method to be pass to the DetectorFactory // +//////////////////////////////////////////////////////////////////////////////// +NPL::VAnalysis* Analysis::Construct(){ + return (NPL::VAnalysis*) new Analysis(); +} + +//////////////////////////////////////////////////////////////////////////////// +// Registering the construct method to the factory // +//////////////////////////////////////////////////////////////////////////////// +extern "C"{ +class proxy{ + public: + proxy(){ + NPL::AnalysisFactory::getInstance()->SetConstructor(Analysis::Construct); + } +}; + +proxy p; +} + diff --git a/Projects/Minos/Analysis.h b/Projects/Minos/Analysis.h new file mode 100644 index 0000000000000000000000000000000000000000..4be10b6598340c81115b5f8b5f0ed878aa782fe4 --- /dev/null +++ b/Projects/Minos/Analysis.h @@ -0,0 +1,42 @@ +#ifndef Analysis_h +#define Analysis_h +/***************************************************************************** + * Copyright (C) 2009-2016 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: XAUTHORX contact address: XMAILX * + * * + * Creation Date : XMONTHX XYEARX * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: * + * This class describe Minos analysis project * + * * + *---------------------------------------------------------------------------* + * Comment: * + * * + *****************************************************************************/ + +#include"NPVAnalysis.h" +#include"TMinosPhysics.h" +class Analysis: public NPL::VAnalysis{ + public: + Analysis(); + ~Analysis(); + + public: + void Init(); + void TreatEvent(); + void End(); + + static NPL::VAnalysis* Construct(); + + private: + TMinosPhysics* Minos; + +}; +#endif diff --git a/Projects/Minos/CMakeLists.txt b/Projects/Minos/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..22c74affdfc45019bdda2594f8439c52d4ab97ec --- /dev/null +++ b/Projects/Minos/CMakeLists.txt @@ -0,0 +1,5 @@ +cmake_minimum_required (VERSION 2.8) +# Setting the policy to match Cmake version +cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) +# include the default NPAnalysis cmake file +include("../../NPLib/ressources/CMake/NPAnalysis.cmake") diff --git a/Projects/Minos/Minos.detector b/Projects/Minos/Minos.detector new file mode 100644 index 0000000000000000000000000000000000000000..638518c618e3b577df569a7c107ab752af1515f2 --- /dev/null +++ b/Projects/Minos/Minos.detector @@ -0,0 +1,23 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%Target +% THICKNESS= 10 micrometer +% RADIUS= 20 mm +% MATERIAL= CD2 +% ANGLE= 0 deg +% X= 0 mm +% Y= 0 mm +% Z= 0 mm + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%Minos +% POS = 35 35 35 cm +% Shape= Square +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Minos + R= 35 mm + THETA= 90 deg + POS = 0 0 -50 cm + PHI= 63 deg + TargetLength = 152.76 mm +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + diff --git a/Projects/e748/Analysis.cxx b/Projects/e748/Analysis.cxx index f479a3ece801f9e46a80a0a6fd8e741242028636..e837582a966f89dbf4a69d7ee2783dd4fb345f5b 100644 --- a/Projects/e748/Analysis.cxx +++ b/Projects/e748/Analysis.cxx @@ -104,8 +104,17 @@ void Analysis::TreatEvent(){ int TelescopeNumber = M2->TelescopeNumber[countMust2]; Si_X_M2 = X ; Si_Y_M2 = Y ; - - if(TelescopeNumber<9){ + // Beam Energy from Cav Time of Flight // + double BeamSpeed = 138.898 - 14765.1/ ModularLeaf->GetCalibratedValue("T_CATS1_CAV") ; // mm/ns + // Beam Energy before CATS1 + static double c2 = 299.792458*299.792458;// mm/ns + double gamma = 1./sqrt(1-BeamSpeed*BeamSpeed/c2); + BeamEnergy= 11200.962140*(gamma-1); + double BeamAngle= BeamDirection.Angle(TVector3(0,0,1)); + double gammaCav = (BeamEnergy+11200.962140) / 11200.962140 ; + double BeamSpeedCav = sqrt(c2*(1-1/(gammaCav*gammaCav))); +//cout << ModularLeaf->GetCalibratedValue("T_CATS1_CAV") << " " << BeamSpeed << " " << BeamEnergy << " " << BeamEnergy/12. << endl; + if(BeamEnergy>0 && TelescopeNumber<5){ DetectorNumber = TelescopeNumber ; /* // Part 1 : Impact Angle */ @@ -122,26 +131,8 @@ void Analysis::TreatEvent(){ Y_M2 = M2 -> GetPositionOfInteraction(countMust2).Y() ; Z_M2 = M2 -> GetPositionOfInteraction(countMust2).Z() ; - // Beam Energy from Cav Time of Flight // - - // Beam speed from Beam Energy - - // double BeamSpeed = 10.8727 + ModularLeaf->GetCalibratedValue("T_CATS1_CAV")*0.276825; // mm/ns - //double BeamSpeed = 5.17952 + ModularLeaf->GetCalibratedValue("T_CATS1_CAV")*0.305315; // mm/ns - //double BeamSpeed = 11.0476 + ModularLeaf->GetCalibratedValue("T_CATS1_CAV")*0.278917; // mm/ns - //double BeamSpeed = 7.20255 + ModularLeaf->GetCalibratedValue("T_CATS1_CAV")*0.293392; // mm/ns - - double BeamSpeed = 20.0747+ ModularLeaf->GetCalibratedValue("T_CATS1_CAV")*0.237811; // mm/ns - // Beam Energy before CATS1 - static double c2 = 299.792458*299.792458;// mm/ns - double gamma = 1./sqrt(1-BeamSpeed*BeamSpeed/c2); - BeamEnergy= 11200.962140*(gamma-1); - double BeamAngle= BeamDirection.Angle(TVector3(0,0,1)); - double gammaCav = (BeamEnergy+11200.962140) / 11200.962140 ; - double BeamSpeedCav = sqrt(c2*(1-1/(gammaCav*gammaCav))); - - // Beam Energy and speed after CATS1 + // Beam Energy and speed after CATS1 double BeamEnergyC1 = BeamMylar.Slow(BeamEnergy,1.2*micrometer,BeamAngle); BeamEnergyC1 = BeamIsobutane.Slow(BeamEnergyC1,cm/3.,BeamAngle); BeamEnergyC1 = BeamMylar.Slow(BeamEnergyC1,0.9*micrometer,BeamAngle);