diff --git a/Inputs/DetectorConfiguration/Vamos.detector b/Inputs/DetectorConfiguration/Vamos.detector new file mode 100644 index 0000000000000000000000000000000000000000..188e5613668a2c99fb99518b73ec6f4ee70e2f5b --- /dev/null +++ b/Inputs/DetectorConfiguration/Vamos.detector @@ -0,0 +1,98 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Target + THICKNESS= 5 micrometer + RADIUS= 20 mm + MATERIAL= CD2 + ANGLE= 0 deg + X= 0 mm + Y= 0 mm + Z= 0 mm + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Vamos Configuration +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Vamos + R= 1 m + Theta= 0 deg + +Vamos DC + Z= 60 mm + Gas= iC4H10 + Pressure= 0.01 bar + Temperature= 295 kelvin + +Vamos DC + Z= 200 mm + Gas= iC4H10 + Pressure= 0.01 bar + Temperature= 295 kelvin + +Vamos BeamCatcher + Material= BC400 + Width= 30 mm + Length= 80 mm + Thickness= 30 mm + Pos= 0 0 600 mm + +Vamos MWPPAC + Z= 750 mm + Gas= iC4H10 + Pressure= 0.01 bar + Temperature= 295 kelvin + +Vamos DC + Z= 940 mm + Gas= iC4H10 + Pressure= 0.01 bar + Temperature= 295 kelvin + +Vamos DC + Z= 1060 mm + Gas= iC4H10 + Pressure= 0.01 bar + Temperature= 295 kelvin + + +Vamos IC + Z= 1200 mm + Thickness= 50 mm + Gas= CF4 + Pressure= 0.2 bar + Temperature= 295 kelvin + +Vamos IC + Z= 1250 mm + Thickness= 50 mm + Gas= CF4 + Pressure= 0.2 bar + Temperature= 295 kelvin + +Vamos IC + Z= 1300 mm + Thickness= 50 mm + Gas= CF4 + Pressure= 0.2 bar + Temperature= 295 kelvin + +Vamos IC + Z= 1375 mm + Thickness= 100 mm + Gas= CF4 + Pressure= 0.2 bar + Temperature= 295 kelvin + +Vamos IC + Z= 1525 mm + Thickness= 200 mm + Gas= CF4 + Pressure= 0.2 bar + Temperature= 295 kelvin + +Vamos IC + Z= 1725 mm + Thickness= 200 mm + Gas= CF4 + Pressure= 0.2 bar + Temperature= 295 kelvin +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 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/.emacshist b/NPLib/Detectors/Dali/.emacshist deleted file mode 100644 index a26e296372e33165fafa8eb439a49d7a4ec98dfa..0000000000000000000000000000000000000000 --- a/NPLib/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/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/TDaliData.h.~3~ b/NPLib/Detectors/Dali/TDaliData.h.~3~ deleted file mode 100644 index eb96babd2913e106593773d7dd6307ca9f3f218e..0000000000000000000000000000000000000000 --- a/NPLib/Detectors/Dali/TDaliData.h.~3~ +++ /dev/null @@ -1,109 +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); - };//! - // (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); } - // - - ////////////////////// 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/MUST2/TMust2Physics.cxx b/NPLib/Detectors/MUST2/TMust2Physics.cxx index 5047bdbe3da59348829ee331e1dec52bcc838701..6d673cbc0e79e6aa0214f802742a6eef863183f2 100644 --- a/NPLib/Detectors/MUST2/TMust2Physics.cxx +++ b/NPLib/Detectors/MUST2/TMust2Physics.cxx @@ -126,14 +126,18 @@ ClassImp(TMust2Physics) m_SiLi_MatchingX[15] = 16; m_SiLi_MatchingY[15] = 16; +<<<<<<< HEAD ////////////////// // CsI matching // ////////////////// +======= +>>>>>>> 829cd8f97e25935a8e10c6975a1be9d39da18977 m_CsI_Size = 32; m_CsI_MatchingX.resize(16, 0); m_CsI_MatchingY.resize(16, 0); +<<<<<<< HEAD m_CsI_MatchingX[0] = 112; m_CsI_MatchingY[0] = 112; @@ -180,6 +184,53 @@ ClassImp(TMust2Physics) m_CsI_MatchingX[14] = 16; m_CsI_MatchingY[14] = 80; +======= + m_CsI_MatchingX[0] = 112; + m_CsI_MatchingY[0] = 112; + + m_CsI_MatchingX[1] = 112; + m_CsI_MatchingY[1] = 80; + + m_CsI_MatchingX[2] = 112; + m_CsI_MatchingY[2] = 48; + + m_CsI_MatchingX[3] = 112; + m_CsI_MatchingY[3] = 16; + // + m_CsI_MatchingX[4] = 80; + m_CsI_MatchingY[4] = 16; + + m_CsI_MatchingX[5] = 80; + m_CsI_MatchingY[5] = 48; + + m_CsI_MatchingX[6] = 80; + m_CsI_MatchingY[6] = 80; + + m_CsI_MatchingX[7] = 80; + m_CsI_MatchingY[7] = 112; + // + m_CsI_MatchingX[8] = 48; + m_CsI_MatchingY[8] = 16; + + m_CsI_MatchingX[9] = 48; + m_CsI_MatchingY[9] = 48; + + m_CsI_MatchingX[10] = 48; + m_CsI_MatchingY[10] = 80; + + m_CsI_MatchingX[11] = 48; + m_CsI_MatchingY[11] = 112; + // + m_CsI_MatchingX[12] = 16; + m_CsI_MatchingY[12] = 16; + + m_CsI_MatchingX[13] = 16; + m_CsI_MatchingY[13] = 48; + + m_CsI_MatchingX[14] = 16; + m_CsI_MatchingY[14] = 80; + +>>>>>>> 829cd8f97e25935a8e10c6975a1be9d39da18977 m_CsI_MatchingX[15] = 16; m_CsI_MatchingY[15] = 112; } diff --git a/NPLib/Detectors/Minos/TMinosData.cxx b/NPLib/Detectors/Minos/TMinosData.cxx index 03e795c65fc322626579936b71ef439cf5f7ab2d..d59dc0eaf7e9463ad8dbbb0f7979033d55642229 100644 --- a/NPLib/Detectors/Minos/TMinosData.cxx +++ b/NPLib/Detectors/Minos/TMinosData.cxx @@ -123,6 +123,16 @@ 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(); diff --git a/NPLib/Detectors/Minos/TMinosData.h b/NPLib/Detectors/Minos/TMinosData.h index 01ba60dbd6feaa16db905c24c375fed468bfac54..b6773407bb8ce00bd757b8d5d97c7c5fc83ec0b4 100644 --- a/NPLib/Detectors/Minos/TMinosData.h +++ b/NPLib/Detectors/Minos/TMinosData.h @@ -68,7 +68,7 @@ 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 @@ -111,6 +111,33 @@ int event; };//! // + + + //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 @@ -129,6 +156,20 @@ int event; {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(TMinosData,1) // MinosData structure 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/Detectors/Vamos/CMakeLists.txt b/NPLib/Detectors/Vamos/CMakeLists.txt index 4b065cf72f16a658df070e6364441b9f18222f73..04ae96ae27bc9b59cd0710bfa2bab2aea72338c6 100644 --- a/NPLib/Detectors/Vamos/CMakeLists.txt +++ b/NPLib/Detectors/Vamos/CMakeLists.txt @@ -1,8 +1,6 @@ -add_custom_command(OUTPUT TVamosPlasticDataDict.cxx COMMAND ../../scripts/build_dict.sh TVamosPlasticData.h TVamosPlasticDataDict.cxx TVamosPlasticData.rootmap libNPVamos.dylib DEPENDS TVamosPlasticData.h) -add_custom_command(OUTPUT TVamosFingerDataDict.cxx COMMAND ../../scripts/build_dict.sh TVamosFingerData.h TVamosFingerDataDict.cxx TVamosFingerData.rootmap libNPVamos.dylib DEPENDS TVamosFingerData.h) -add_custom_command(OUTPUT TVamosDCDataDict.cxx COMMAND ../../scripts/build_dict.sh TVamosDCData.h TVamosDCDataDict.cxx TVamosDCData.rootmap libNPVamos.dylib DEPENDS TVamosDCData.h) -add_custom_command(OUTPUT TVamosCHIODataDict.cxx COMMAND ../../scripts/build_dict.sh TVamosCHIOData.h TVamosCHIODataDict.cxx TVamosCHIOData.rootmap libNPVamos.dylib DEPENDS TVamosCHIOData.h) -add_library(NPVamos SHARED TVamosCHIOData.cxx TVamosDCData.cxx TVamosPlasticData.cxx TVamosFingerData.cxx TVamosCHIODataDict.cxx TVamosDCDataDict.cxx TVamosPlasticDataDict.cxx TVamosFingerDataDict.cxx ) +add_custom_command(OUTPUT TVamosPhysicsDict.cxx COMMAND ../../scripts/build_dict.sh TVamosPhysics.h TVamosPhysicsDict.cxx TVamosPhysics.rootmap libNPVamos.dylib DEPENDS TVamosPhysics.h) +add_custom_command(OUTPUT TVamosDataDict.cxx COMMAND ../../scripts/build_dict.sh TVamosData.h TVamosDataDict.cxx TVamosData.rootmap libNPVamos.dylib DEPENDS TVamosData.h) +add_library(NPVamos SHARED TVamosData.cxx TVamosPhysics.cxx TVamosDataDict.cxx TVamosPhysicsDict.cxx ) target_link_libraries(NPVamos ${ROOT_LIBRARIES} NPCore) -install(FILES TVamosCHIOData.h TVamosDCData.h TVamosPlasticData.h TVamosFingerData.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY}) +install(FILES TVamosData.h TVamosPhysics.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY}) diff --git a/NPLib/Detectors/Vamos/TVamosData.cxx b/NPLib/Detectors/Vamos/TVamosData.cxx new file mode 100644 index 0000000000000000000000000000000000000000..1f4662067d6069dea85b6c188bc72a342da61a0f --- /dev/null +++ b/NPLib/Detectors/Vamos/TVamosData.cxx @@ -0,0 +1,80 @@ +/***************************************************************************** + * 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: Cyril Lenain contact address: lenain@lpccaen.in2p3.fr * + * * + * Creation Date : octobre 2018 * + * Last update : 09/01/2019 * + *---------------------------------------------------------------------------* + * Decription: * + * This class hold Vamos Raw data * + *---------------------------------------------------------------------------* + * Comment: * + * * + *****************************************************************************/ +#include "TVamosData.h" + +#include <iostream> +#include <fstream> +#include <sstream> +#include <string> +using namespace std; + +ClassImp(TVamosData) + + + ////////////////////////////////////////////////////////////////////// + TVamosData::TVamosData() { + } + + + +////////////////////////////////////////////////////////////////////// +TVamosData::~TVamosData() { +} + + + +////////////////////////////////////////////////////////////////////// +void TVamosData::Clear() { + // Energy + fVamos_E_DetectorNbr.clear(); + fVamos_Energy.clear(); + // Time + fVamos_T_DetectorNbr.clear(); + fVamos_Time.clear(); + // Pos + fVamos_Drift_DetectorNbr.clear(); + fVamos_DriftTime.clear(); + fVamos_X.clear(); +} + + +////////////////////////////////////////////////////////////////////// +void TVamosData::Dump() const { + // This method is very useful for debuging and worth the dev. + cout << "XXXXXXXXXXXXXXXXXXXXXXXX New Event [TVamosData::Dump()] XXXXXXXXXXXXXXXXX" << endl; + + // Energy + size_t mysize = fVamos_E_DetectorNbr.size(); + cout << "Vamos_E_Mult: " << mysize << endl; + + for (size_t i = 0 ; i < mysize ; i++){ + cout << "DetNbr: " << fVamos_E_DetectorNbr[i] + << " Energy: " << fVamos_Energy[i]; + } + + // Time + mysize = fVamos_T_DetectorNbr.size(); + cout << "Vamos_T_Mult: " << mysize << endl; + + for (size_t i = 0 ; i < mysize ; i++){ + cout << "DetNbr: " << fVamos_T_DetectorNbr[i] + << " Time: " << fVamos_Time[i]; + } +} diff --git a/NPLib/Detectors/Vamos/TVamosData.h b/NPLib/Detectors/Vamos/TVamosData.h new file mode 100644 index 0000000000000000000000000000000000000000..b5957639b9de2e0ad1e6ad86c44ccb0b5b5eac6d --- /dev/null +++ b/NPLib/Detectors/Vamos/TVamosData.h @@ -0,0 +1,123 @@ +#ifndef __VamosDATA__ +#define __VamosDATA__ +/***************************************************************************** + * 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: Cyril Lenain contact address: lenain@lpccaen.in2p3.fr * + * * + * Creation Date : octobre 2018 * + * Last update : 09/01/2019 * + *---------------------------------------------------------------------------* + * Decription: * + * This class hold Vamos Raw data * + *---------------------------------------------------------------------------* + * Comment: * + * * + *****************************************************************************/ + +// STL +#include <vector> +using namespace std; + +// ROOT +#include "TObject.h" + +class TVamosData : public TObject { + ////////////////////////////////////////////////////////////// + // data members are hold into vectors in order + // to allow multiplicity treatment + private: + // Energy + vector<UShort_t> fVamos_E_DetectorNbr; + vector<Double_t> fVamos_Energy; + + // Time + vector<UShort_t> fVamos_T_DetectorNbr; + vector<Double_t> fVamos_Time; + + // DriftTime in DC + vector<UShort_t> fVamos_Drift_DetectorNbr; + vector<Double_t> fVamos_DriftTime; + vector<Double_t> fVamos_X; + + ////////////////////////////////////////////////////////////// + // Constructor and destructor + public: + TVamosData(); + ~TVamosData(); + + ////////////////////////////////////////////////////////////// + // 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) { + fVamos_E_DetectorNbr.push_back(DetNbr); + fVamos_Energy.push_back(Energy); + }; //! + + // Time + inline void SetTime(const UShort_t& DetNbr, const Double_t& Time) { + fVamos_T_DetectorNbr.push_back(DetNbr); + fVamos_Time.push_back(Time); + }; //! + + // Position DriftTime and X in DC + inline void SetDrift(const UShort_t& DetNbr, const Double_t& DriftTime, + const Double_t& X) { + fVamos_Drift_DetectorNbr.push_back(DetNbr); + fVamos_DriftTime.push_back(DriftTime); + fVamos_X.push_back(X); + }; //! + + ////////////////////// GETTERS //////////////////////// + // Energy + inline UShort_t GetMultEnergy() const { return fVamos_E_DetectorNbr.size(); } + inline UShort_t GetE_DetectorNbr(const unsigned int& i) const { + return fVamos_E_DetectorNbr[i]; + } //! + inline Double_t Get_Energy(const unsigned int& i) const { + return fVamos_Energy[i]; + } //! + + // Time + inline UShort_t GetMultTime() const { return fVamos_T_DetectorNbr.size(); } + inline UShort_t GetT_DetectorNbr(const unsigned int& i) const { + return fVamos_T_DetectorNbr[i]; + } //! + inline Double_t Get_Time(const unsigned int& i) const { + return fVamos_Time[i]; + } //! + + // Position + inline UShort_t GetMultDrift() const { return fVamos_Drift_DetectorNbr.size(); } + inline UShort_t GetDrift_DetectorNbr(const unsigned int& i) const { + return fVamos_Drift_DetectorNbr[i]; + } //! + inline Double_t Get_DriftTime(const unsigned int& i) const { + return fVamos_DriftTime[i]; + } //! + + inline Double_t Get_X(const unsigned int& i) const { return fVamos_X[i]; } //! + + ////////////////////////////////////////////////////////////// + // Required for ROOT dictionnary + ClassDef(TVamosData, 1) // VamosData structure +}; + +#endif diff --git a/NPLib/Detectors/Vamos/TVamosPhysics.cxx b/NPLib/Detectors/Vamos/TVamosPhysics.cxx new file mode 100644 index 0000000000000000000000000000000000000000..0ea9b62bc94a575fbdbe0992cc84d0ef1269054d --- /dev/null +++ b/NPLib/Detectors/Vamos/TVamosPhysics.cxx @@ -0,0 +1,382 @@ +/***************************************************************************** + * 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: Cyril Lenain contact address: lenain@lpccaen.in2p3.fr * + * * + * Creation Date : octobre 2018 * + * Last update : 09/01/2019 * + *---------------------------------------------------------------------------* + * Decription: * + * This class hold Vamos Treated data * + * * + *---------------------------------------------------------------------------* + * Comment: * + * * + * * + *****************************************************************************/ + +#include "TVamosPhysics.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 "NPDetectorManager.h" +#include "NPOptionManager.h" +#include "NPSystemOfUnits.h" + +// ROOT +#include "TChain.h" + +ClassImp(TVamosPhysics) + + using namespace NPUNITS; + + /////////////////////////////////////////////////////////////////////////// +TVamosPhysics::TVamosPhysics() + : m_EventData(new TVamosData), + m_EventPhysics(this), + m_NumberOfDetectors(0) { + } + +/////////////////////////////////////////////////////////////////////////// +/// A usefull method to bundle all operation to add a detector +/////////////////////////////////////////////////////////////////////////// +void TVamosPhysics::BuildSimplePhysicalEvent() { + BuildPhysicalEvent(); +} + +/////////////////////////////////////////////////////////////////////////// +void TVamosPhysics::BuildPhysicalEvent() { + + double DriftSpeed = 1*centimeter/microsecond; + double Z_t = m_TargetThickness*0.5 ; + double E = 0 ; + double DriftTime =0; + double Raw_Y = 0; + double t_para =0; + int DetectorNumber = 0; + + // match energy and time together + unsigned int mysizeE = m_EventData->GetMultEnergy(); + unsigned int mysizeT = m_EventData->GetMultTime(); + for (UShort_t e = 0; e < mysizeE ; e++) { + /* for (UShort_t t = 0; t < mysizeT ; t++) { */ + /* if (m_EventData->GetE_DetectorNbr(e) == m_EventData->GetT_DetectorNbr(t)) { */ + if (e!= (mysizeE-1)){ + E+=m_EventData->Get_Energy(e); + + } + else { + /* DetectorNumber.push_back(m_EventData->GetE_DetectorNbr(e)); */ + E+=m_EventData->Get_Energy(e); + Energy.push_back(E); + + /* Time.push_back(m_EventData->Get_Time(t)); */ + + /* } */ + /* } */ + } + } + + // extract X and Y from DriftChamber + unsigned int sizeDrift = m_EventData->GetMultDrift(); + vector<double> X_Event, Y_Event; + + for (UShort_t d=0; d<sizeDrift ; d++){ + DetectorNumber = m_EventData->GetDrift_DetectorNbr(d); + DriftDetectorNumber.push_back(DetectorNumber); + Drift_X.push_back(m_EventData->Get_X(d)); + X_Event.push_back(m_EventData->Get_X(d)); + + DriftTime = m_EventData->Get_DriftTime(d)*microsecond; + + // 7.5 centimeter is half times the height of Chamber + // to separate negative Y from positive Y + if (DriftTime > 7.5*centimeter/DriftSpeed) { + Raw_Y = (DriftTime-7.5*centimeter/DriftSpeed)*DriftSpeed; + Drift_Y.push_back(Raw_Y); + Y_Event.push_back(Raw_Y); + } + + else { + Raw_Y = (7.5*centimeter/DriftSpeed-DriftTime)*DriftSpeed; + Drift_Y.push_back(-Raw_Y); + Y_Event.push_back(-Raw_Y); + } + + } + + // calculate + if (sizeDrift >=2){ + + double X1, X2, Y1, Y2, t, r; + double Y_t_Event, X_t_Event, Phi_t_Event, Theta_t_Event; + + X1=X_Event[0]; + Y1=Y_Event[0]; + X2=X_Event[1]; + Y2=Y_Event[1]; + + // Calculate X,Y on the target + t =(Z_t-Z1)/(Z2-Z1); + X_t_Event = t*(X2-X1)+X1; + Y_t_Event = t*(Y2-Y1)+Y1; + + // Theta and Phi out of the target + r = sqrt(pow(X2-X1,2) + pow(Y2-Y1,2) + pow(Z2-Z1,2)); + Phi_t_Event = acos((Y2-Y1)/r); + Theta_t_Event = acos((X2-X1)/(r*sin(Phi_t_Event))); + + X_target.push_back(X_t_Event); + Y_target.push_back(Y_t_Event); + + Theta_target.push_back((Theta_t_Event*180)/3.14159); + Phi_target.push_back((Phi_t_Event*180)/3.14159); + + // in anticipation to use macro + TargetThickness.push_back(m_TargetThickness); + + } + + Y_Event.clear(); + X_Event.clear(); + +} + +/////////////////////////////////////////////////////////////////////////// +void TVamosPhysics::ReadAnalysisConfig() { + bool ReadingStatus = false; + + // path to file + string FileName = "./configs/ConfigVamos.dat"; + + // open analysis config file + ifstream AnalysisConfigFile; + AnalysisConfigFile.open(FileName.c_str()); + + if (!AnalysisConfigFile.is_open()) { + cout << " No ConfigVamos.dat found: Default parameter loaded for Analayis " << FileName << endl; + return; + } + cout << " Loading user parameter for Analysis from ConfigVamos.dat " << endl; + + // Save it in a TAsciiFile + TAsciiFile* asciiConfig = RootOutput::getInstance()->GetAsciiFileAnalysisConfig(); + asciiConfig->AppendLine("%%% ConfigVamos.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 = "ConfigVamos"; + 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 TVamosPhysics::Clear() { + DetectorNumber.clear(); + Energy.clear(); + Time.clear(); + DriftDetectorNumber.clear(); + Drift_X.clear(); + Drift_Y.clear(); + X_target.clear(); + Y_target.clear(); + Theta_target.clear(); + Phi_target.clear(); + TargetThickness.clear(); +} + +/////////////////////////////////////////////////////////////////////////// +void TVamosPhysics::ReadConfiguration(NPL::InputParser parser) { + + vector<NPL::InputBlock*> blocks1= parser.GetAllBlocksWithToken("Target"); + if (NPOptionManager::getInstance()->GetVerboseLevel()) + + for (unsigned int i=0; i< blocks1.size(); i++) { + vector<string> TokenTarget = {"THICKNESS", "RADIUS","MATERIAL","ANGLE","X","Y","Z"}; + if (blocks1[i]->HasTokenList(TokenTarget)) { + if (NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "//// Target " << i + 1 << endl; + m_TargetThickness = blocks1[i]->GetDouble("THICKNESS", "micrometer"); + } + } + + vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("Vamos"); + if (NPOptionManager::getInstance()->GetVerboseLevel()) + cout << "//// " << blocks.size() << " detectors found " << endl; + + vector<string> TokenBeamCatcher + = {"Material", "Width", "Length", "Thickness", "Pos"}; + vector<string> sphe = {"R", "Theta"}; + vector<string> TokenMWPPAC = {"Z", "Gas", "Pressure", "Temperature"}; + vector<string> TokenDC = {"Z", "Gas", "Pressure", "Temperature"}; + vector<string> TokenIC = {"Z", "Thickness", "Gas", "Pressure", "Temperature"}; + + for (unsigned int i = 0; i < blocks.size(); i++) { + + if (blocks[i]->HasTokenList(sphe)) { + if (NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "//// Vamos " << i + 1 << endl; + double R = blocks[i]->GetDouble("R", "mm"); + double Theta = blocks[i]->GetDouble("Theta", "deg"); + m_NumberOfDetectors++; + DistanceTargetVamos = R; + } + + else if (blocks[i]->GetMainValue() == "BeamCatcher" + && blocks[i]->HasTokenList(TokenBeamCatcher)) { + if (NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "//// BeamCatcher" << i + 1 << endl; + string Material = blocks[i]->GetString("Material"); + double Width = blocks[i]->GetDouble("Width", "mm"); + double Length = blocks[i]->GetDouble("Length", "mm"); + double Thickness = blocks[i]->GetDouble("Thickness", "mm"); + m_NumberOfDetectors++; + } + + else if (blocks[i]->GetMainValue() == "MWPPAC" + && blocks[i]->HasTokenList(TokenMWPPAC)) { + if (NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "//// MWPPAC" << i + 1 << endl; + double Z = blocks[i]->GetDouble("Z", "mm"); + string Gas = blocks[i]->GetString("Gas"); + double Pressure = blocks[i]->GetDouble("Pressure", "bar"); + double Temperature = blocks[i]->GetDouble("Temperature", "kelvin"); + m_NumberOfDetectors++; + } + + else if (blocks[i]->GetMainValue() == "DC" + && blocks[i]->HasTokenList(TokenDC)) { + if (NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "//// DC" << i + 1 << endl; + double Z = blocks[i]->GetDouble("Z", "mm"); + string Gas = blocks[i]->GetString("Gas"); + double Pressure = blocks[i]->GetDouble("Pressure", "bar"); + double Temperature = blocks[i]->GetDouble("Temperature", "kelvin"); + Z_DriftChambers.push_back(Z); + m_NumberOfDetectors++; + } + + else if (blocks[i]->GetMainValue() == "IC" + && blocks[i]->HasTokenList(TokenIC)) { + if (NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "//// IC" << i + 1 << endl; + double Z = blocks[i]->GetDouble("Z", "mm"); + double Thickness = blocks[i]->GetDouble("Thickness", "mm"); + string Gas = blocks[i]->GetString("Gas"); + double Pressure = blocks[i]->GetDouble("Pressure", "bar"); + double Temperature = blocks[i]->GetDouble("Temperature", "kelvin"); + m_NumberOfDetectors++; + } + + else { + cout << "ERROR: check your input file formatting " << endl; + exit(1); + } + } + + Z1 = Z_DriftChambers[0]+ DistanceTargetVamos; + Z2 = Z_DriftChambers[1]+ DistanceTargetVamos; + /* OriginalBeamEnergy = myReaction.GetBeamEnergy(); */ + + /* cout<<OriginalBeamEnergy <<endl; */ + +} + +/////////////////////////////////////////////////////////////////////////// +void TVamosPhysics::AddParameterToCalibrationManager() { + CalibrationManager* Cal = CalibrationManager::getInstance(); + for (int i = 0; i < m_NumberOfDetectors; ++i) { + Cal->AddParameter("Vamos", "D"+ NPL::itoa(i+1)+"_ENERGY","Vamos_D"+ NPL::itoa(i+1)+"_ENERGY"); + Cal->AddParameter("Vamos", "D"+ NPL::itoa(i+1)+"_TIME","Vamos_D"+ NPL::itoa(i+1)+"_TIME"); + } +} + +/////////////////////////////////////////////////////////////////////////// +void TVamosPhysics::InitializeRootInputRaw() { + TChain* inputChain = RootInput::getInstance()->GetChain(); + inputChain->SetBranchStatus("Vamos", true ); + inputChain->SetBranchAddress("Vamos", &m_EventData ); +} + +/////////////////////////////////////////////////////////////////////////// +void TVamosPhysics::InitializeRootInputPhysics() { + TChain* inputChain = RootInput::getInstance()->GetChain(); + inputChain->SetBranchAddress("Vamos", &m_EventPhysics); +} + +/////////////////////////////////////////////////////////////////////////// +void TVamosPhysics::InitializeRootOutput() { + TTree* outputTree = RootOutput::getInstance()->GetTree(); + outputTree->Branch("Vamos", "TVamosPhysics", &m_EventPhysics); +} + +//////////////////////////////////////////////////////////////////////////////// +// Construct Method to be pass to the DetectorFactory // +//////////////////////////////////////////////////////////////////////////////// +NPL::VDetector* TVamosPhysics::Construct() { + return (NPL::VDetector*) new TVamosPhysics(); +} + +//////////////////////////////////////////////////////////////////////////////// +// Registering the construct method to the factory // +//////////////////////////////////////////////////////////////////////////////// +extern "C"{ + class proxy_Vamos{ + public: + proxy_Vamos(){ + NPL::DetectorFactory::getInstance()->AddToken("Vamos","Vamos"); + NPL::DetectorFactory::getInstance()->AddDetector("Vamos",TVamosPhysics::Construct); + } + }; + + proxy_Vamos p_Vamos; +} + diff --git a/NPLib/Detectors/Vamos/TVamosPhysics.h b/NPLib/Detectors/Vamos/TVamosPhysics.h new file mode 100644 index 0000000000000000000000000000000000000000..ce91ad978e0f933dfc35e4b01f95bdd0bf664436 --- /dev/null +++ b/NPLib/Detectors/Vamos/TVamosPhysics.h @@ -0,0 +1,150 @@ +#ifndef TVamosPHYSICS_H +#define TVamosPHYSICS_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: Cyril Lenain contact address: lenain@lpccaen.in2p3.fr * + * * + * Creation Date : octobre 2018 * + * Last update : 09/01/2019 * + *---------------------------------------------------------------------------* + * Decription: * + * This class hold Vamos 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 "TVamosData.h" +#include "NPCalibrationManager.h" +#include "NPVDetector.h" +#include "NPInputParser.h" +#include"NPEnergyLoss.h" +#include"NPReaction.h" + + +class TVamosPhysics : public TObject, public NPL::VDetector { + ////////////////////////////////////////////////////////////// + // constructor and destructor + public: + TVamosPhysics(); + ~TVamosPhysics() {}; + + + ////////////////////////////////////////////////////////////// + // 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<int> DriftDetectorNumber; + vector<double> Energy; + vector<double> Time; + vector<double> Drift_X; + vector<double> Drift_Y; + vector<double> X_target; + vector<double> Y_target; + vector<double> Theta_target; + vector<double> Phi_target; + vector<double> TargetThickness; + + ////////////////////////////////////////////////////////////// + // 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();} + + ////////////////////////////////////////////////////////////// + // specific methods to Vamos array + public: + + // read the user configuration file. If no file is found, load standard one + void ReadAnalysisConfig(); + + // objects are not written in the TTree + private: + TVamosData* m_EventData; //! + /* TVamosData* m_PreTreatedData; //! */ + TVamosPhysics* m_EventPhysics; //! + /* NPL::Reaction myReaction; //! */ + + double m_TargetThickness; + double DistanceTargetVamos; + vector<double> Z_DriftChambers;// + double Z1, Z2 ; + + // getters for raw and pre-treated data object + public: + TVamosData* GetRawData() const {return m_EventData;} + + // parameters used in the analysis + private: + // thresholds + double m_E_RAW_Threshold; //! + double m_E_Threshold; //! + + private: + int m_NumberOfDetectors; //! + + // Static constructor to be passed to the Detector Factory + public: + static NPL::VDetector* Construct(); + + ClassDef(TVamosPhysics,1) // VamosPhysics structure +}; +#endif diff --git a/NPLib/Physics/TInitialConditions.cxx b/NPLib/Physics/TInitialConditions.cxx index 4618cca002f5f61161bb7f8feb730c7960ca0a97..0987d268813fafbf8a612953615ab89735d1e462 100644 --- a/NPLib/Physics/TInitialConditions.cxx +++ b/NPLib/Physics/TInitialConditions.cxx @@ -106,3 +106,12 @@ TVector3 TInitialConditions::GetParticleDirection (const int &i) const { fIC_Momentum_Direction_Z[i]); } +double TInitialConditions::GetParticlePositionX (const int &i, const double &Z) const { + double t = (Z-fIC_Incident_Position_Z) / fIC_Momentum_Direction_Z[i]; + return t*fIC_Momentum_Direction_X[i] + fIC_Incident_Position_X ; +} + +double TInitialConditions::GetParticlePositionY (const int &i, const double &Z) const { + double t = (Z-fIC_Incident_Position_Z) / fIC_Momentum_Direction_Z[i]; + return t*fIC_Momentum_Direction_Y[i] + fIC_Incident_Position_Y; +} diff --git a/NPLib/Physics/TInitialConditions.h b/NPLib/Physics/TInitialConditions.h index c2a235bb4ef2061264178ddf51e19102f9c8f78b..045dd431980f9d3abec0276a442d39c2faa1eeaa 100644 --- a/NPLib/Physics/TInitialConditions.h +++ b/NPLib/Physics/TInitialConditions.h @@ -128,6 +128,10 @@ public: TVector3 GetBeamDirection () const ; TVector3 GetParticleDirection (const int &i) const ; + double GetParticlePositionX (const int &i, const double &Z) const; + double GetParticlePositionY (const int &i, const double &Z) const; + + double GetThetaLab_WorldFrame (const int &i) const { return (GetParticleDirection(i).Angle(TVector3(0,0,1)))/deg; } 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 e5c39608f6a621394d243e39a4252b214e561485..8f1d79f1334b2e742c113fa44db7d492edbc8c30 100644 --- a/NPSimulation/Core/Chamber.cc +++ b/NPSimulation/Core/Chamber.cc @@ -2300,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 1ed6000c297625d9c562914b91aef5a5dd384990..914809ff261903b5d9c99a6bcc12df5055fd3785 100644 --- a/NPSimulation/Core/MaterialManager.cc +++ b/NPSimulation/Core/MaterialManager.cc @@ -861,96 +861,90 @@ G4Element* MaterialManager::GetElementFromLibrary(string Name) { } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// -G4Material* MaterialManager::GetGasFromLibrary(string Name, double Pressure, - double Temperature) { - ostringstream oss; - oss << Name << "_" << Pressure << "_" << Temperature; - string newName = oss.str(); - map<string, G4Material*>::iterator it; - it = m_Material.find(Name); - double density = 0; - - G4double Vm = 0.08206 * Temperature * atmosphere / (Pressure * kelvin); - - // The element is not found - if (it == m_Material.end()) { - if (Name == "CF4") { // 52 torr - density = 3.72 * kg / m3; - double refTemp = (273.15 + 15) * kelvin; - double refPres = 1.01325 * bar; - density = density * (refTemp / Temperature) / (refPres / Pressure); - G4Material* material = new G4Material("NPS_" + newName, density, 2, - kStateGas, Temperature, Pressure); - material->AddElement(GetElementFromLibrary("C"), 1); - material->AddElement(GetElementFromLibrary("F"), 4); - m_Material[newName] = material; - return material; - } - - if (Name == "He") { - density = (4.0026 / Vm) * mg / cm3; - G4Material* material = new G4Material("NPS_" + newName, density, 1, - kStateGas, Temperature, Pressure); - material->AddElement(GetElementFromLibrary("He"), 1); - m_Material[newName] = material; - return material; - } - - if (Name == "iC4H10" || Name == "Isobutane" || Name == "isobutane") { - density = ((4 * 12.0107 + 10 * 1.00794) / Vm) * mg / cm3; - G4Material* material = new G4Material("NPS_" + newName, density, 2, - kStateGas, Temperature, Pressure); - material->AddElement(GetElementFromLibrary("C"), 4); - material->AddElement(GetElementFromLibrary("H"), 10); - m_Material[newName] = material; - return material; - } - - if (Name == "CH4") { - density = ((12.0107 + 4 * 1.00794) / Vm) * mg / cm3; - G4Material* material = new G4Material("NPS_" + newName, density, 2, - kStateGas, Temperature, Pressure); - material->AddElement(GetElementFromLibrary("C"), 1); - material->AddElement(GetElementFromLibrary("H"), 4); - m_Material[newName] = material; - return material; - } - - if (Name == "CO2") { - density = ((12.0107 + 2 * 16) / Vm) * mg / cm3; - G4Material* material = new G4Material("NPS_" + newName, density, 2, - kStateGas, Temperature, Pressure); - material->AddElement(GetElementFromLibrary("C"), 1); - material->AddElement(GetElementFromLibrary("O"), 2); - m_Material[newName] = material; - return material; - } - - if (Name == "H2") { - density = (2 * 1.00794 / Vm) * mg / cm3; - G4Material* material = new G4Material("NPS_" + newName, density, 1, - kStateGas, Temperature, Pressure); - material->AddElement(GetElementFromLibrary("H"), 2); - // material->AddElement(GetElementFromLibrary("H"), 1); - m_Material[newName] = material; - return material; - } - - if (Name == "D2") { - density = (2 * 2.0140 / Vm) * mg / cm3; - G4Material* material = new G4Material("NPS_" + newName, density, 1, - kStateGas, Temperature, Pressure); - material->AddElement(GetElementFromLibrary("D"), 2); - // material->AddElement(GetElementFromLibrary("D"), 1); - m_Material[newName] = material; - return material; - } - - else { - exit(1); - } - } +// +G4Material* MaterialManager::GetGasFromLibrary(string Name, double Pressure, double Temperature){ + ostringstream oss; + oss << Name<< "_"<<Pressure<<"_"<<Temperature; + string newName= oss.str(); + map<string,G4Material*>::iterator it; + it = m_Material.find(Name); + + double density = 0 ; + + G4double Vm=0.08206*Temperature*atmosphere/(Pressure*kelvin); + + // The element is not found + if(it==m_Material.end()){ + if(Name == "CF4"){ // 52 torr + density = 3.72*kg/m3; + double refTemp= (273.15+15)*kelvin; + double refPres= 1.01325*bar; + density = density*(refTemp/Temperature)/(refPres/Pressure); + G4Material* material = new G4Material("NPS_"+newName,density,2,kStateGas,Temperature,Pressure); + material->AddElement(GetElementFromLibrary("C"), 1); + material->AddElement(GetElementFromLibrary("F"), 4); + m_Material[newName]=material; + return material; + } + + if(Name == "He"){ + density = (4.0026/Vm)*mg/cm3; + G4Material* material = new G4Material("NPS_"+newName,density,1,kStateGas,Temperature,Pressure); + material->AddElement(GetElementFromLibrary("He"), 1); + m_Material[newName]=material; + return material; + } + + if(Name == "iC4H10" || Name == "Isobutane" || Name == "isobutane"){ + density = ((4*12.0107+10*1.00794)/Vm)*mg/cm3; + G4Material* material = new G4Material("NPS_"+newName,density,2,kStateGas,Temperature,Pressure); + material->AddElement(GetElementFromLibrary("C"), 4); + material->AddElement(GetElementFromLibrary("H"), 10); + m_Material[newName]=material; + return material; + } + + if(Name == "CH4"){ + density = ((12.0107+4*1.00794)/Vm)*mg/cm3; + G4Material* material = new G4Material("NPS_"+newName,density,2,kStateGas,Temperature,Pressure); + material->AddElement(GetElementFromLibrary("C"), 1); + material->AddElement(GetElementFromLibrary("H"), 4); + m_Material[newName]=material; + return material; + } + + if(Name == "CO2"){ + density = ((12.0107+2*16)/Vm)*mg/cm3; + G4Material* material = new G4Material("NPS_"+newName,density,2,kStateGas,Temperature,Pressure); + material->AddElement(GetElementFromLibrary("C"), 1); + material->AddElement(GetElementFromLibrary("O"), 2); + m_Material[newName]=material; + return material; + } + + if(Name == "H2"){ + density = (2*1.00794/Vm)*mg/cm3; + G4Material* material = new G4Material("NPS_"+newName,density,1,kStateGas,Temperature,Pressure); + material->AddElement(GetElementFromLibrary("H"), 2); + //material->AddElement(GetElementFromLibrary("H"), 1); + m_Material[newName]=material; + return material; + } + + if(Name == "D2"){ + density = (2*2.0140/Vm)*mg/cm3; + G4Material* material = new G4Material("NPS_"+newName,density,1,kStateGas,Temperature,Pressure); + material->AddElement(GetElementFromLibrary("D"), 2); + //material->AddElement(GetElementFromLibrary("D"), 1); + m_Material[newName]=material; + return material; + } + + + else{ + exit(1); + } + } return NULL; } diff --git a/NPSimulation/Core/PrimaryGeneratorAction.cc b/NPSimulation/Core/PrimaryGeneratorAction.cc index 725041c272860dbe95fa66bcb672c2c382f75a0f..8a5ab2947fd7d720b9629536b6c7d340f3d05508 100644 --- a/NPSimulation/Core/PrimaryGeneratorAction.cc +++ b/NPSimulation/Core/PrimaryGeneratorAction.cc @@ -41,7 +41,7 @@ // Event Generator Class #include "EventGeneratorIsotropic.hh" -#include "EventGeneratorCosmic.hh" +/* #include "EventGeneratorCosmic.hh" */ #include "EventGeneratorMultipleParticle.hh" #include "EventGeneratorBeam.hh" @@ -111,13 +111,13 @@ void PrimaryGeneratorAction::ReadEventGeneratorFile(string Path){ m_EventGenerator.push_back(myEventGenerator); } blocks.clear(); - blocks = parser.GetAllBlocksWithToken("Cosmic"); - if (blocks.size()>0) { - NPS::VEventGenerator* myEventGenerator = new EventGeneratorCosmic(); - myEventGenerator->ReadConfiguration(parser); - myEventGenerator->InitializeRootOutput(); - m_EventGenerator.push_back(myEventGenerator); - } + /* blocks = parser.GetAllBlocksWithToken("Cosmic"); */ + /* if (blocks.size()>0) { */ + /* NPS::VEventGenerator* myEventGenerator = new EventGeneratorCosmic(); */ + /* myEventGenerator->ReadConfiguration(parser); */ + /* myEventGenerator->InitializeRootOutput(); */ + /* m_EventGenerator.push_back(myEventGenerator); */ + /* } */ m_Target=m_detector->GetTarget(); if(m_Target!=NULL){ 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 3246e1c4f3a2171e8aae8024e0e56aba86833e70..0000000000000000000000000000000000000000 --- a/NPSimulation/Detectors/Dali/.emacshist +++ /dev/null @@ -1,7 +0,0 @@ -;; -*- mode: emacs-lisp; coding: utf-8-unix -*- -;; Minibuffer history file, automatically generated by `savehist'. - -(setq savehist-minibuffer-history-variables '(minibuffer-history query-replace-history extended-command-history)) -(setq minibuffer-history '("setbranchaddress")) -(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 9edf97cc0a90f3bc12ac2c3831394eb3460cf458..ec87cd71ce39d7defd5d078fb027d5a8316ea706 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 = 0.51*MeV ; // mean Resolution(FWHM) 1.7% of 80MeV from slides 20170214-SAMURAI34-setup-DALI.pdf if 1.7% of 30MeV = 0.51 MeV // 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*/)); } @@ -166,34 +176,128 @@ 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))); 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))); + + AriaExtrude->SetVisAttributes(G4VisAttributes(G4Colour(1,1,1,0))); + 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 - new G4PVPlacement(0, positionnull, @@ -202,14 +306,14 @@ G4LogicalVolume* Dali::BuildSquareDetector(){ 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); // NaI Volume - new G4PVPlacement(0, positionnull, m_SquareDetector_Crystal, - "Crystal NaI", + "CrystalNaI", m_SquareDetector_CanMgO, false, 0); @@ -217,8 +321,18 @@ G4LogicalVolume* Dali::BuildSquareDetector(){ m_SquareDetector_Crystal->SetVisAttributes(m_VisSquare); m_SquareDetector_Crystal->SetSensitiveDetector(m_DaliScorer); - 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 +341,6 @@ G4LogicalVolume* Dali::BuildSquareDetector(){ - - } return Logic_ArrayDali_1; @@ -312,6 +424,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 +435,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 +451,8 @@ void Dali::ConstructDetector(G4LogicalVolume* world){ new G4PVPlacement(G4Transform3D(*Rot,Det_pos), BuildSquareDetector(), "Dali",world,false,i+1); + + } } } @@ -379,8 +495,6 @@ void Dali::ReadSensitive(const G4Event* ){ int DetectorNbr = (ArrayNbr-1)*3+DetectinsArrayNbr; m_Event->SetEnergy(DetectorNbr,Energy); m_Event->SetTime(DetectorNbr,Time); - - } } } @@ -390,17 +504,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/Minos/Minos.cc b/NPSimulation/Detectors/Minos/Minos.cc index b6e47eb399edd72c63440126052c5a2c4ba1234f..66675805e5c1e7d411fc162352431c990c1a40af 100644 --- a/NPSimulation/Detectors/Minos/Minos.cc +++ b/NPSimulation/Detectors/Minos/Minos.cc @@ -1,18 +1,18 @@ /***************************************************************************** - * 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: tronchin@lpccaen.in2p3.fr * + * Original Author: E. Tronchin contact address: tronchin@lpccaen.in2p3.fr * * * - * Creation Date : October 2018 * + * Creation Date : October 2018 * * Last update : * *---------------------------------------------------------------------------* * Decription: * - * This class describe Minos simulation * + * This class describe Minos simulation * * * *---------------------------------------------------------------------------* * Comment: * @@ -42,6 +42,8 @@ #include "Minos.hh" #include "CalorimeterScorers.hh" #include "InteractionScorers.hh" +#include "TPCScorers.hh" + #include "RootOutput.h" #include "MaterialManager.hh" #include "NPSDetectorFactory.hh" @@ -72,50 +74,68 @@ namespace Minos_NS{ // Minos Specific Method Minos::Minos(){ m_Event = new TMinosData() ; - m_MinosScorer = 0; + 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, string Shape){ +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_Shape.push_back(Shape); + m_TargetLength.push_back(TargetLength); } - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Minos::AddDetector(double R, double Theta, double Phi, string Shape){ +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_Shape.push_back(Shape); + 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); +// 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_MinosScorer); - } - return m_SquareDetector; -} +// 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; +// } @@ -124,18 +144,18 @@ G4LogicalVolume* Minos::BuildSquareDetector(){ 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); @@ -144,16 +164,16 @@ void Minos::DefineMaterials() 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); @@ -170,35 +190,35 @@ void Minos::DefineMaterials() 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); @@ -210,45 +230,45 @@ void Minos::DefineMaterials() 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); - + 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); + 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; } @@ -303,20 +323,15 @@ void Minos::SetKaptonMaterial(G4String materialChoice) 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); - */ - - + 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; } @@ -327,69 +342,71 @@ G4LogicalVolume* Minos::BuildCylindricalDetector(){ //....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 : +// 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 - + // + // 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); - {G4VisAttributes* atb= new G4VisAttributes(G4Colour(0.6,1.,1.)); - atb->SetForceSolid(true); - logicTarget->SetVisAttributes(atb);} - - } + } 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)); - simpleBoxVisAtt->SetVisibility(true); - logicChamber->SetVisAttributes(simpleBoxVisAtt);} + // + // 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 - - + // 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); } @@ -398,109 +415,165 @@ G4LogicalVolume* Minos::BuildInnerRohacell(){ //....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 + // + // 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 + // 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 + // + // TPC + + solidTPC = new G4Tubs("TPC", //its name + ChamberInnerRadius /*+ ChamberThickness + InnerRohacellThickness + KaptonThickness + OuterRohacellThickness*/,TPCRadiusExt,ChamberLength,0,360.); - - {G4VisAttributes* atb= new G4VisAttributes(G4Colour(1.,1.,0.6)); - logicTPC->SetVisAttributes(atb);} + 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 - // +// +// windows +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4LogicalVolume* Minos::BuildWindow0(){ if(!logicWindow0){ -solidWindow0 = new G4Tubs("WindowTube", //its name - TargetRadius,TargetRadius+WindowThickness*2.,TargetLength,0,360.); - - logicWindow0 = new G4LogicalVolume(solidWindow0, //its solid - WindowMaterial, //its material - "WindowTube"); //name - - {G4VisAttributes* atb= new G4VisAttributes(G4Colour(0,0,1)); - atb->SetForceSolid(true); - logicWindow0->SetVisAttributes(atb);} + 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)); - atb->SetForceSolid(true); - logicWindow1->SetVisAttributes(atb);} - - - } + 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)); - atb->SetForceSolid(true); - logicWindow2->SetVisAttributes(atb);} - + 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; } @@ -515,17 +588,17 @@ void Minos::ReadConfiguration(NPL::InputParser parser){ if(NPOptionManager::getInstance()->GetVerboseLevel()) cout << "//// " << blocks.size() << " detectors found " << endl; - vector<string> cart = {"POS","Shape"}; - vector<string> sphe = {"R","Theta","Phi","Shape"}; + 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")); - string Shape = blocks[i]->GetString("Shape"); - AddDetector(Pos,Shape); + double TargetLength = blocks[i]->GetDouble("TargetLength","mm"); + AddDetector(Pos,TargetLength); } else if(blocks[i]->HasTokenList(sphe)){ if(NPOptionManager::getInstance()->GetVerboseLevel()) @@ -533,8 +606,8 @@ void Minos::ReadConfiguration(NPL::InputParser parser){ 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); + double TargetLength = blocks[i]->GetDouble("TargetLength","mm"); + AddDetector(R,Theta,Phi,TargetLength); } else{ cout << "ERROR: check your input file formatting " << endl; @@ -550,13 +623,17 @@ void Minos::ReadConfiguration(NPL::InputParser parser){ // Called After DetecorConstruction::AddDetector Method void Minos::ConstructDetector(G4LogicalVolume* world){ for (unsigned short i = 0 ; i < m_R.size() ; i++) { - - TargetRadius = 28.*mm; TargetLength = 150./2.*mm; - ChamberInnerRadius = 37.*mm; ChamberThickness = 1.*mm; - ChamberLength = 300./2.*mm; - InnerRohacellThickness = 1.*mm; KaptonThickness = 0.125*mm; OuterRohacellThickness = 2.*mm; - TPCRadiusExt = 100.*mm; WindowThickness = 0.150/2.*mm; + 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"); @@ -566,13 +643,13 @@ void Minos::ConstructDetector(G4LogicalVolume* world){ 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; + 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]); @@ -586,85 +663,148 @@ void Minos::ConstructDetector(G4LogicalVolume* world){ G4RotationMatrix* Rot = new G4RotationMatrix(u,v,w); - if(m_Shape[i] == "Cylindrical"){ - // new G4PVPlacement(G4Transform3D(*Rot,Det_pos), - // BuildCylindricalDetector(), - // "Minos",world,false,i+1); + // 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)); //??? } - else if(m_Shape[i] == "Square"){ - + 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); - - physiTarget = new G4PVPlacement(0, //no rotation - G4ThreeVector(0,0,TargetLength), //at (0,0,0) - BuildTarget(), //its logical volume - "Target", //its name - world, //its mother volume - false, //no boolean operation - 0); //copy number - - physiChamber = new G4PVPlacement(0, //its name - G4ThreeVector(0,0,ChamberLength), //at (0,0,0) - BuildChamber(), //its logical volume - "Chamber", //its name - world, //its mother volume - false, //no boolean operation - 0); //copy number - - physiInnerRohacell = 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); physiOuterRohacell = new G4PVPlacement(0, //its name - G4ThreeVector(0,0,ChamberLength), //at (0,0,0) - BuildOuterRohacell(), //its logical volume - "OuterRohacell", //its name - world, //its mother volume - false, //no boolean operation - 0); //copy number - - physiKapton = new G4PVPlacement(0, //its name - G4ThreeVector(0,0,ChamberLength), //at (0,0,0) - BuildKapton(), //its logical volume - "Kapton", //its name - world, //its mother volume - false, //no boolean operation - 0); //copy number - - physiTPC = new G4PVPlacement(0, //its name - G4ThreeVector(0,0,ChamberLength), //at (0,0,0) - BuildTPC(), //its logical volume - "TPC", //its name - world, //its mother volume - false, //no boolean operation - 0); //copy number - - physiWindow0 = new G4PVPlacement(0, //its name - G4ThreeVector(0,0,TargetLength), //at (0,0,0) - BuildWindow0(), //its logical volume - "WindowTube", //its name - world, //its mother volume - false, //no boolean operation - 0); physiWindow1 = new G4PVPlacement(0, //its name - G4ThreeVector(0,0,-1.*WindowThickness), //at (0,0,0) - BuildWindow1(), //its logical volume - "WindowEntrance", //its name - world, //its mother volume - false, //no boolean operation - 0); physiWindow2 = new G4PVPlacement(0, //its name - G4ThreeVector(0,0,2.*TargetLength+WindowThickness), //at (0,0,0) - BuildWindow2(), //its logical volume - "WindowOutcoming", //its name - world, //its mother volume - false, //no boolean operation - 0); //copy number - G4Region* aRegion = new G4Region("TPCLog"); - logicTPC -> SetRegion(aRegion); - aRegion -> AddRootLogicalVolume(logicTPC); } // // Visualization attributes @@ -686,13 +826,14 @@ void Minos::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 Minos::ReadSensitive(const G4Event* ){ m_Event->Clear(); /////////// // Calorimeter scorer - CalorimeterScorers::PS_Calorimeter* Scorer= (CalorimeterScorers::PS_Calorimeter*) m_MinosScorer->GetPrimitive(0); + CalorimeterScorers::PS_Calorimeter* Scorer= (CalorimeterScorers::PS_Calorimeter*) m_MinosTargetScorer->GetPrimitive(0); + unsigned int size = Scorer->GetMult(); for(unsigned int i = 0 ; i < size ; i++){ @@ -711,20 +852,36 @@ void Minos::ReadSensitive(const G4Event* ){ //////////////////////////////////////////////////////////////// void Minos::InitializeScorers() { // This check is necessary in case the geometry is reloaded - bool already_exist = false; - m_MinosScorer = CheckScorer("MinosScorer",already_exist) ; + bool already_exist = false; + bool already_exist2 = false; - if(already_exist) - return ; + + 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* Calorimeter= new CalorimeterScorers::PS_Calorimeter("Calorimeter",level, 0) ; - G4VPrimitiveScorer* Interaction= new InteractionScorers::PS_Interactions("Interaction",ms_InterCoord, 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_MinosScorer->RegisterPrimitive(Calorimeter); - m_MinosScorer->RegisterPrimitive(Interaction); - G4SDManager::GetSDMpointer()->AddNewDetector(m_MinosScorer) ; + 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...... diff --git a/NPSimulation/Detectors/Minos/Minos.hh b/NPSimulation/Detectors/Minos/Minos.hh index e77ee2f8e6bbea51028a1840afa306582795a302..ed9652b69fa0911c4018b10ef8e158573a47bfc6 100644 --- a/NPSimulation/Detectors/Minos/Minos.hh +++ b/NPSimulation/Detectors/Minos/Minos.hh @@ -31,11 +31,16 @@ using namespace std; #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{ //////////////////////////////////////////////////// @@ -53,7 +58,11 @@ class Minos : public NPS::VDetector{ 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(); @@ -74,7 +83,9 @@ class Minos : public NPS::VDetector{ G4LogicalVolume* BuildChamber(); G4LogicalVolume* BuildInnerRohacell(); G4LogicalVolume* BuildOuterRohacell(); + G4LogicalVolume* BuildOuterOuterRohacell(); G4LogicalVolume* BuildKapton(); + G4LogicalVolume* BuildOuterKapton(); G4LogicalVolume* BuildTPC(); G4LogicalVolume* BuildWindow0(); G4LogicalVolume* BuildWindow1(); @@ -86,7 +97,8 @@ class Minos : public NPS::VDetector{ G4Material* GetTargetMaterial() {return TargetMaterial;}; G4double GetTargetRadius() {return TargetRadius;}; - + + /* const G4VPhysicalVolume* GetphysiWorld() {return physiWorld;}; const G4VPhysicalVolume* GetTarget() {return physiTarget;}; const G4VPhysicalVolume* GetChamber() {return physiChamber;}; @@ -97,12 +109,13 @@ class Minos : public NPS::VDetector{ 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; @@ -131,45 +144,45 @@ class Minos : public NPS::VDetector{ 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 + // 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; + // G4VPhysicalVolume* physiTarget; G4Tubs* solidChamber; G4LogicalVolume* logicChamber; - G4VPhysicalVolume* physiChamber; + // G4VPhysicalVolume* physiChamber; G4Tubs* solidTPC; G4LogicalVolume* logicTPC; - G4VPhysicalVolume* physiTPC; + // G4VPhysicalVolume* physiTPC; G4Tubs* solidWindow0; G4LogicalVolume* logicWindow0; - G4VPhysicalVolume* physiWindow0; + // G4VPhysicalVolume* physiWindow0; G4Tubs* solidWindow1; G4LogicalVolume* logicWindow1; - G4VPhysicalVolume* physiWindow1; + // G4VPhysicalVolume* physiWindow1; G4Tubs* solidWindow2; G4LogicalVolume* logicWindow2; - G4VPhysicalVolume* physiWindow2; + // G4VPhysicalVolume* physiWindow2; G4Tubs* solidInnerRohacell; G4LogicalVolume* logicInnerRohacell; - G4VPhysicalVolume* physiInnerRohacell; + // G4VPhysicalVolume* physiInnerRohacell; G4Tubs* solidOuterRohacell; G4LogicalVolume* logicOuterRohacell; - G4VPhysicalVolume* physiOuterRohacell; + // G4VPhysicalVolume* physiOuterRohacell; G4Tubs* solidKapton; G4LogicalVolume* logicKapton; - G4VPhysicalVolume* physiKapton; + // G4VPhysicalVolume* physiKapton; @@ -199,7 +212,9 @@ class Minos : public NPS::VDetector{ void InitializeScorers() ; // Associated Scorer - G4MultiFunctionalDetector* m_MinosScorer ; + G4MultiFunctionalDetector* m_MinosTargetScorer ; + G4MultiFunctionalDetector* m_MinosTPCScorer ; + //////////////////////////////////////////////////// ///////////Event class to store Data//////////////// //////////////////////////////////////////////////// @@ -215,13 +230,20 @@ class Minos : public NPS::VDetector{ vector<double> m_Theta; vector<double> m_Phi; - // Shape type - vector<string> m_Shape ; - + // 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(); diff --git a/NPSimulation/Detectors/Vamos/CMakeLists.txt b/NPSimulation/Detectors/Vamos/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..e1307310c822d5aff8449dfcbc51c1d892029fd2 --- /dev/null +++ b/NPSimulation/Detectors/Vamos/CMakeLists.txt @@ -0,0 +1,2 @@ +add_library(NPSVamos SHARED Vamos.cc) +target_link_libraries(NPSVamos NPSCore ${ROOT_LIBRARIES} ${Geant4_LIBRARIES} ${NPLib_LIBRARIES} -lNPVamos) diff --git a/NPSimulation/Detectors/Vamos/Vamos.cc b/NPSimulation/Detectors/Vamos/Vamos.cc new file mode 100644 index 0000000000000000000000000000000000000000..ad808109e2f52f09d70d810bd019869c3b958354 --- /dev/null +++ b/NPSimulation/Detectors/Vamos/Vamos.cc @@ -0,0 +1,640 @@ +/***************************************************************************** + * 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: Cyril Lenain contact address: lenain@lpccaen.in2p3.fr * + * * + * Creation Date : octobre 2018 * + * Last update : 09/01/2019 * + *---------------------------------------------------------------------------* + * Decription: * + * This class describe the Vamos spectrometer * + * * + *---------------------------------------------------------------------------* + * Comment: * + * * + *****************************************************************************/ + +// C++ headers +#include <cmath> +#include <limits> +#include <sstream> +// G4 Geometry object +#include "G4Box.hh" +#include "G4Tubs.hh" + +// G4 sensitive +#include "G4MultiFunctionalDetector.hh" +#include "G4SDManager.hh" + +// G4 various object +#include "G4Colour.hh" +#include "G4Material.hh" +#include "G4PVPlacement.hh" +#include "G4Transform3D.hh" +#include "G4UnionSolid.hh" +#include "G4VisAttributes.hh" + +// NPTool header +#include "CalorimeterScorers.hh" +#include "DriftChamberScorers.hh" +#include "InteractionScorers.hh" +#include "MaterialManager.hh" +#include "NPOptionManager.h" +#include "NPSDetectorFactory.hh" +#include "NPSHitsMap.hh" +#include "RootOutput.h" +#include "Vamos.hh" + +// CLHEP header +#include "CLHEP/Random/RandGauss.h" + +using namespace std; +using namespace CLHEP; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +namespace Vamos_NS { + + // Energy,time and position Resolution + const G4double EnergyThreshold = -10 * MeV; + const G4double ResoTime = 4.5 * ns; + const G4double ResoEnergy = 0.0001 * MeV; + const G4double ResoDriftTime = 0.0001 * ns; + const G4double ResoPosX = 0.0001 * mm; + + // Drift features + const G4double DriftSpeed = 1 * cm / microsecond; + const G4ThreeVector DriftDir = G4ThreeVector(0, 1, 0); + + // Geometry + const G4double E_DCWidth = 600 * mm; // Entrance_DriftChamber + const G4double E_DCLength = 150 * mm; + const G4double E_DCThickness = 60 * mm; + + const G4double MagnetWidth = 1000 * mm; + const G4double MagnetLenght = 150 * mm; + const G4double MagnetThickness = 200 * mm; + const G4double DipolThickness = 600 * mm; + + const G4double ChamberWidth = 1000 * mm; + const G4double ChamberLength = 150 * mm; + const G4double ChamberThickness = 120 * mm; + + // Mother Volume of Vamos + const G4double Phi = 0 * deg; + const G4double VamosVolumeWidth = 4500 * mm; + const G4double VamosVolumeLength = 1000 * mm; + const G4double VamosVolumeThickness = 5000 * mm; + + // SubVolume of detection + const G4double DetectionVolumeThickness = 1300 * mm; + const G4double DetectionVolumeWidth = 1000 * mm; + const G4double DetectionVolumeLength = 1000 * mm; + const G4double Det_Theta = 0 * deg; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// Vamos Specific Method +Vamos::Vamos() { + + m_Event = new TVamosData(); + m_CalorimeterScorer = 0; + m_DCScorer = 0; + m_Quad1 = 0; + m_Quad2 = 0; + m_Dipol = 0; + m_BeamCatcher = 0; + m_MWPPAC = 0; + m_DC3 = 0; + m_DC4 = 0; + m_DC1 = 0; + m_DC2 = 0; + + ICcounter = 0; + + // RGB Color + Transparency + m_VisQuad = new G4VisAttributes(G4Colour(1.0, 0.0, 0.0)); + m_VisVolumeVamos = new G4VisAttributes(G4Colour(1.0, 0.0, 0.0, 0.1)); + m_VisDC = new G4VisAttributes(G4Colour(0.0, 1.0, 0.0, 0.2)); + m_VisCatcher = new G4VisAttributes(G4Colour(0.0, 0.0, 1.0)); + m_VisGasC4H10 = new G4VisAttributes(G4Colour(0.0, 1.0, 0.0, 0.2)); + m_VisGasCF4 = new G4VisAttributes(G4Colour(0.0, 0.0, 1.0, 0.2)); +} + +Vamos::~Vamos() {} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +using namespace Vamos_NS; + +void Vamos::AddVamos(G4double R, double Theta) { + m_R = R; + m_Theta = Theta; +} + +void Vamos::AddBeamCatcher(string Material, G4double Width, double Length, + double Thickness, G4ThreeVector Pos) { + CatcherMaterial = Material; + CatcherWidth = Width; + CatcherLength = Length; + CatcherThickness = Thickness; + R_Catcher = Pos[2]; + Pos[2] = -DetectionVolumeThickness * 0.5 + CatcherThickness * 0.5; + m_PosCatcher = Pos; +} + +// To add DriftChambers and the MWPPAC +void Vamos::AddDetector(G4double Z, string Gas, double Pressure, + double Temperature) { + m_Z.push_back(Z); + m_Gas.push_back(Gas); + m_Pressure.push_back(Pressure); + m_Temperature.push_back(Temperature); +} + +void Vamos::AddIC(G4double Z, double Thickness, string Gas, double Pressure, + double Temperature) { + m_ZIC.push_back(Z); + m_ThicknessIC.push_back(Thickness); + m_GasIC.push_back(Gas); + m_PressureIC.push_back(Pressure); + m_TemperatureIC.push_back(Temperature); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// The two entry DriftChambers +G4LogicalVolume* Vamos::BuildDC1() { + if (!m_DC1) { + G4Box* box = new G4Box("Vamos_DC1", E_DCWidth * 0.5, E_DCLength * 0.5, + E_DCThickness * 0.5); + + G4Material* DetectorMaterial + = MaterialManager::getInstance()->GetGasFromLibrary( + m_Gas[0], m_Pressure[0], m_Temperature[0]); + + m_DC1 = new G4LogicalVolume(box, DetectorMaterial, "logic_Vamos_DC1", 0, 0, + 0); + m_DC1->SetVisAttributes(m_VisGasC4H10); + m_DC1->SetSensitiveDetector(m_DCScorer); + } + return m_DC1; +} + +G4LogicalVolume* Vamos::BuildDC2() { + if (!m_DC2) { + G4Box* box = new G4Box("Vamos_DC2", E_DCWidth * 0.5, E_DCLength * 0.5, + E_DCThickness * 0.5); + + G4Material* DetectorMaterial + = MaterialManager::getInstance()->GetGasFromLibrary( + m_Gas[1], m_Pressure[1], m_Temperature[1]); + + m_DC2 = new G4LogicalVolume(box, DetectorMaterial, "logic_Vamos_DC2", 0, 0, + 0); + m_DC2->SetVisAttributes(m_VisGasC4H10); + m_DC2->SetSensitiveDetector(m_DCScorer); + } + return m_DC2; +} + +// Quadruples and Dipole just to make the visualisation nice +G4LogicalVolume* Vamos::BuildQuad1() { + if (!m_Quad1) { + G4Box* box = new G4Box("Vamos_Box", Vamos_NS::MagnetWidth * 0.5, + Vamos_NS::MagnetLenght * 0.5, + Vamos_NS::MagnetThickness * 0.5); + + G4Material* VamosMaterial + = MaterialManager::getInstance()->GetMaterialFromLibrary("Vacuum"); + m_Quad1 = new G4LogicalVolume(box, VamosMaterial, "logic_Quad1", 0, 0, 0); + m_Quad1->SetVisAttributes(m_VisQuad); + } + return m_Quad1; +} + +G4LogicalVolume* Vamos::BuildQuad2() { + if (!m_Quad2) { + G4Box* box = new G4Box("Vamos_Quad2", Vamos_NS::MagnetWidth * 0.5, + Vamos_NS::MagnetLenght * 0.5, + Vamos_NS::MagnetThickness * 0.5); + + G4Material* VamosMaterial + = MaterialManager::getInstance()->GetMaterialFromLibrary("Vacuum"); + m_Quad1 = new G4LogicalVolume(box, VamosMaterial, "logic_Quad1", 0, 0, 0); + m_Quad1->SetVisAttributes(m_VisQuad); + } + return m_Quad1; +} + +G4LogicalVolume* Vamos::BuildDipol() { + if (!m_Dipol) { + G4Box* box = new G4Box("Vamos_Dipol", Vamos_NS::MagnetWidth * 0.5, + Vamos_NS::MagnetLenght * 0.5, + Vamos_NS::DipolThickness * 0.5); + + G4Material* VamosMaterial + = MaterialManager::getInstance()->GetMaterialFromLibrary("Vacuum"); + m_Dipol = new G4LogicalVolume(box, VamosMaterial, "logic_Dipol", 0, 0, 0); + m_Dipol->SetVisAttributes(m_VisQuad); + } + return m_Dipol; +} + +// Detection at the end of Vamos +G4LogicalVolume* Vamos::BuildBeamCatcher() { + if (!m_BeamCatcher) { + G4Box* box = new G4Box("Vamos_Catcher", CatcherWidth * 0.5, + CatcherLength * 0.5, CatcherThickness * 0.5); + + G4Material* Material + = MaterialManager::getInstance()->GetMaterialFromLibrary( + CatcherMaterial); + m_BeamCatcher + = new G4LogicalVolume(box, Material, "logic_Vamos_Catcher", 0, 0, 0); + m_BeamCatcher->SetVisAttributes(m_VisCatcher); + m_BeamCatcher->SetSensitiveDetector(m_CalorimeterScorer); + } + return m_BeamCatcher; +} + +G4LogicalVolume* Vamos::BuildMWPPAC() { + if (!m_MWPPAC) { + G4Box* box = new G4Box("Vamos_MWPPAC", ChamberWidth * 0.5, + ChamberLength * 0.5, ChamberThickness * 0.5); + + G4Material* DetectorMaterial + = MaterialManager::getInstance()->GetGasFromLibrary( + m_Gas[2], m_Pressure[2], m_Temperature[2]); + m_MWPPAC = new G4LogicalVolume(box, DetectorMaterial, "logic_Vamos_MWPPAC", + 0, 0, 0); + m_MWPPAC->SetVisAttributes(m_VisGasC4H10); + } + return m_MWPPAC; +} + +G4LogicalVolume* Vamos::BuildDC3() { + if (!m_DC3) { + G4Box* box = new G4Box("Vamos_DC3", ChamberWidth * 0.5, ChamberLength * 0.5, + ChamberThickness * 0.5); + + G4Material* DetectorMaterial + = MaterialManager::getInstance()->GetGasFromLibrary( + m_Gas[3], m_Pressure[3], m_Temperature[3]); + + m_DC3 = new G4LogicalVolume(box, DetectorMaterial, "logic_Vamos_DC3", 0, 0, + 0); + m_DC3->SetVisAttributes(m_VisGasC4H10); + m_DC3->SetSensitiveDetector(m_DCScorer); + } + return m_DC3; +} + +G4LogicalVolume* Vamos::BuildDC4() { + if (!m_DC4) { + G4Box* box = new G4Box("Vamos_DC4", ChamberWidth * 0.5, ChamberLength * 0.5, + ChamberThickness * 0.5); + + G4Material* DetectorMaterial + = MaterialManager::getInstance()->GetGasFromLibrary( + m_Gas[4], m_Pressure[4], m_Temperature[4]); + + m_DC4 = new G4LogicalVolume(box, DetectorMaterial, "logic_Vamos_DC4", 0, 0, + 0); + m_DC4->SetVisAttributes(m_VisGasC4H10); + m_DC4->SetSensitiveDetector(m_DCScorer); + } + return m_DC4; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// In anticipation of use a macro +void Vamos::ClearGeometry(){ + + m_Z.clear(); + m_Gas.clear(); + m_Pressure.clear(); + m_Temperature.clear(); + + m_ZIC.clear(); + m_ThicknessIC.clear(); + m_PressureIC.clear(); + m_TemperatureIC.clear(); + m_GasIC.clear(); + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// Virtual Method of NPS:VDetector class +// Read stream at Configfile to pick-up parameters of detector (Position,...) +// Called in DetecorConstruction::ReadDetectorConfiguration Method + +void Vamos::ReadConfiguration(NPL::InputParser parser) { + + vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("Vamos"); + if (NPOptionManager::getInstance()->GetVerboseLevel()) + cout << "//// " << blocks.size() << " detectors found " << endl; + + vector<string> TokenBeamCatcher + = {"Material", "Width", "Length", "Thickness", "Pos"}; + vector<string> sphe = {"R", "Theta"}; + vector<string> TokenMWPPAC = {"Z", "Gas", "Pressure", "Temperature"}; + vector<string> TokenDC = {"Z", "Gas", "Pressure", "Temperature"}; + vector<string> TokenIC = {"Z", "Thickness", "Gas", "Pressure", "Temperature"}; + + for (unsigned int i = 0; i < blocks.size(); i++) { + if (blocks[i]->HasTokenList(sphe)) { + if (NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "//// Vamos " << i + 1 << endl; + G4double R = blocks[i]->GetDouble("R", "mm"); + G4double Theta = blocks[i]->GetDouble("Theta", "deg"); + AddVamos(R, Theta); + } + + else if (blocks[i]->GetMainValue() == "BeamCatcher" + && blocks[i]->HasTokenList(TokenBeamCatcher)) { + if (NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "//// BeamCatcher" << i + 1 << endl; + string Material = blocks[i]->GetString("Material"); + G4double Width = blocks[i]->GetDouble("Width", "mm"); + G4double Length = blocks[i]->GetDouble("Length", "mm"); + G4double Thickness = blocks[i]->GetDouble("Thickness", "mm"); + G4ThreeVector Pos + = NPS::ConvertVector(blocks[i]->GetTVector3("Pos", "mm")); + AddBeamCatcher(Material, Width, Length, Thickness, Pos); + } + + else if (blocks[i]->GetMainValue() == "MWPPAC" + && blocks[i]->HasTokenList(TokenMWPPAC)) { + if (NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "//// MWPPAC" << i + 1 << endl; + G4double Z = blocks[i]->GetDouble("Z", "mm"); + string Gas = blocks[i]->GetString("Gas"); + G4double Pressure = blocks[i]->GetDouble("Pressure", "bar"); + G4double Temperature = blocks[i]->GetDouble("Temperature", "kelvin"); + AddDetector(Z, Gas, Pressure, Temperature); + } + + else if (blocks[i]->GetMainValue() == "DC" + && blocks[i]->HasTokenList(TokenDC)) { + if (NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "//// DC" << i + 1 << endl; + G4double Z = blocks[i]->GetDouble("Z", "mm"); + string Gas = blocks[i]->GetString("Gas"); + G4double Pressure = blocks[i]->GetDouble("Pressure", "bar"); + G4double Temperature = blocks[i]->GetDouble("Temperature", "kelvin"); + AddDetector(Z, Gas, Pressure, Temperature); + } + + else if (blocks[i]->GetMainValue() == "IC" + && blocks[i]->HasTokenList(TokenIC)) { + if (NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "//// IC" << ICcounter+1 << endl; + G4double Z = blocks[i]->GetDouble("Z", "mm"); + G4double Thickness = blocks[i]->GetDouble("Thickness", "mm"); + string Gas = blocks[i]->GetString("Gas"); + G4double Pressure = blocks[i]->GetDouble("Pressure", "bar"); + G4double Temperature = blocks[i]->GetDouble("Temperature", "kelvin"); + AddIC(Z, Thickness, Gas, Pressure, Temperature); + ICcounter++; + } + + else { + cout << "ERROR: check your input file formatting " << endl; + exit(1); + } + + } +} + +// Construct detector and inialise sensitive part. +// Called After DetecorConstruction::AddDetector Method +void Vamos::ConstructDetector(G4LogicalVolume* world) { + + // Mother Volume of Vamos + G4double R = m_R + VamosVolumeThickness * 0.5; + + G4double X = R * sin(m_Theta) * cos(Phi); + G4double Y = R * sin(m_Theta) * sin(Phi); + G4double Z = R * cos(m_Theta); + G4ThreeVector Det_pos = G4ThreeVector(X, Y, Z); + + G4RotationMatrix* Rot1 = new G4RotationMatrix(); + Rot1->rotateY(m_Theta); + + G4Box* MotherSolid + = new G4Box("MotherVolume", VamosVolumeWidth * 0.5, + VamosVolumeLength * 0.5, VamosVolumeThickness * 0.5); + + G4Material* VolumeMaterial + = MaterialManager::getInstance()->GetMaterialFromLibrary("Vacuum"); + G4LogicalVolume* MotherVolume = new G4LogicalVolume( + MotherSolid, VolumeMaterial, "MotherVolume", 0, 0, 0); + + new G4PVPlacement(G4Transform3D(*Rot1, Det_pos), MotherVolume, "MotherVolume", + world, false, 0); + MotherVolume->SetVisAttributes(m_VisVolumeVamos); + + // SubVolume of Detection at the end of Vamos + // The position of the subvolume is defined by the position of the BeamCatcher + G4double R2 + = R_Catcher - CatcherThickness * 0.5 + DetectionVolumeThickness * 0.5; + + G4double X2 = R2 * sin(Det_Theta) * cos(0); + G4double Z2 = R2 * cos(Det_Theta); + G4ThreeVector Det_pos2 = G4ThreeVector(X2, 0, Z2); + + G4RotationMatrix* Rot2 = new G4RotationMatrix(); + Rot2->rotateY(Det_Theta); + + G4Box* MotherDetectorSolid + = new G4Box("MotherDetector", DetectionVolumeWidth * 0.5, + DetectionVolumeLength * 0.5, DetectionVolumeThickness * 0.5); + + G4LogicalVolume* MotherDetector = new G4LogicalVolume( + MotherDetectorSolid, VolumeMaterial, "MotherDetector", 0, 0, 0); + + new G4PVPlacement(G4Transform3D(*Rot2, Det_pos2), MotherDetector, + "MotherDetector", MotherVolume, false, 0); + MotherDetector->SetVisAttributes(m_VisVolumeVamos); + + + // Position the entry DCs and the magnets in the MotherVolume + new G4PVPlacement(0, G4ThreeVector(0, 0, -VamosVolumeThickness * 0.5 + m_Z[0]), + BuildDC1(), "Entrance_DC1", MotherVolume, false, 1); + + new G4PVPlacement(0, G4ThreeVector(0, 0, -VamosVolumeThickness * 0.5 + m_Z[1]), + BuildDC2(), "Entrance_DC2", MotherVolume, false, 2); + + new G4PVPlacement( + 0, + G4ThreeVector(0, 0, (-VamosVolumeThickness + MagnetThickness) * 0.5 + 400), + BuildQuad1(), "Vamos", MotherVolume, false, 0); + + new G4PVPlacement( + 0, + G4ThreeVector(0, 0, + (-VamosVolumeThickness + MagnetThickness) * 0.5 + 700 * mm), + BuildQuad2(), "Vamos", MotherVolume, false, 0); + + new G4PVPlacement( + 0, + G4ThreeVector(0, 0, + (-VamosVolumeThickness + MagnetThickness) * 0.5 + 1500 * mm), + BuildDipol(), "Vamos", MotherVolume, false, 0); + + // Position the system of detection at the end of Vamos in the sub Volume + new G4PVPlacement(0, m_PosCatcher, BuildBeamCatcher(), "BeamCatcher", + MotherDetector, false, 3); + + new G4PVPlacement( + 0, + G4ThreeVector(0, 0, + -DetectionVolumeThickness * 0.5 + + (m_Z[2] - R_Catcher + CatcherThickness * 0.5)), + BuildMWPPAC(), "MWPPAC", MotherDetector, false, 4); + + new G4PVPlacement( + 0, + G4ThreeVector(0, 0, + -DetectionVolumeThickness * 0.5 + + (m_Z[3] - R_Catcher + CatcherThickness * 0.5)), + BuildDC3(), "DC", MotherDetector, false, 5); + + new G4PVPlacement( + 0, + G4ThreeVector(0, 0, + -DetectionVolumeThickness * 0.5 + + (m_Z[4] - R_Catcher + CatcherThickness * 0.5)), + BuildDC4(), "DC", MotherDetector, false, 6); + + // Construct and position the Ionisations Chambers + for (int i = 0; i < ICcounter; i++) { + G4Box* box = new G4Box("Vamos_IC", ChamberWidth * 0.5, ChamberLength * 0.5, + m_ThicknessIC[i] * 0.5); + G4Material* GasIC = MaterialManager::getInstance()->GetGasFromLibrary( + m_GasIC[i], m_PressureIC[i], m_TemperatureIC[i]); + G4LogicalVolume* IC + = new G4LogicalVolume(box, GasIC, "logic_Vamos_IC", 0, 0, 0); + IC->SetVisAttributes(m_VisGasCF4); + IC->SetSensitiveDetector(m_CalorimeterScorer); + new G4PVPlacement( + 0, + G4ThreeVector(0, 0, + -DetectionVolumeThickness * 0.5 + + (m_ZIC[i] - R_Catcher + CatcherThickness * 0.5)), + IC, "IC", MotherDetector, false, i + 7); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// Add Detector branch to the EventTree. +// Called After DetecorConstruction::AddDetector Method + +void Vamos::InitializeRootOutput() { + RootOutput* pAnalysis = RootOutput::getInstance(); + TTree* pTree = pAnalysis->GetTree(); + if (!pTree->FindBranch("Vamos")) { + pTree->Branch("Vamos", "TVamosData", &m_Event); + } + pTree->SetBranchAddress("Vamos", &m_Event); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// Read sensitive part and fill the Root Three +// Called at in the EventAction::EndOfEventAvtion +void Vamos::ReadSensitive(const G4Event*) { + + m_Event->Clear(); + + /////////// + // Calorimeter scorer + CalorimeterScorers::PS_Calorimeter* Scorer + = (CalorimeterScorers::PS_Calorimeter*)m_CalorimeterScorer->GetPrimitive( + 0); + unsigned int size = Scorer->GetMult(); + for (unsigned int i = 0; i < size; i++) { + vector<unsigned int> level = Scorer->GetLevel(i); + G4double Energy + = RandGauss::shoot(Scorer->GetEnergy(i), Vamos_NS::ResoEnergy); + if (Energy > Vamos_NS::EnergyThreshold) { + G4double Time = RandGauss::shoot(Scorer->GetTime(i), Vamos_NS::ResoTime); + int DetectorNbr = level[0]; + m_Event->SetEnergy(DetectorNbr, Energy); + m_Event->SetTime(DetectorNbr, Time); + } + } + /////////// + // DriftChamber scorer + DriftChamberScorers::PS_DriftChamber* Scorer2 + = (DriftChamberScorers::PS_DriftChamber*)m_DCScorer->GetPrimitive(0); + unsigned int size2 = Scorer2->GetMult(); + for (unsigned int i = 0; i < size2; i++) { + vector<unsigned int> level = Scorer2->GetLevel(i); + G4double DriftTime + = RandGauss::shoot(Scorer2->GetDriftTime(i)/Scorer2->GetCounter(i), Vamos_NS::ResoDriftTime); + G4double X + = RandGauss::shoot(Scorer2->GetX(i)/Scorer2->GetCounter(i), ResoPosX); + int DetectorNbr = level[0]; + m_Event->SetDrift(DetectorNbr, DriftTime, X); + } + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//////////////////////////////////////////////////////////////// +void Vamos::InitializeScorers() { + // This check is necessary in case the geometry is reloaded + bool already_exist = false; + m_DCScorer = CheckScorer("DCScorer", already_exist); + m_CalorimeterScorer = CheckScorer("VamosScorer", 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); + m_CalorimeterScorer->RegisterPrimitive(Calorimeter); + + G4VPrimitiveScorer* Drift = new DriftChamberScorers::PS_DriftChamber( + "Drift", level, DriftDir, DriftSpeed, 0); + m_DCScorer->RegisterPrimitive(Drift); + + // and register it to the multifunctionnal detector + G4SDManager::GetSDMpointer()->AddNewDetector(m_DCScorer); + G4SDManager::GetSDMpointer()->AddNewDetector(m_CalorimeterScorer); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//////////////////////////////////////////////////////////////////////////////// +// Construct Method to be pass to the DetectorFactory // +//////////////////////////////////////////////////////////////////////////////// +NPS::VDetector* Vamos::Construct() { return (NPS::VDetector*)new Vamos(); } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//////////////////////////////////////////////////////////////////////////////// +// Registering the construct method to the factory // +//////////////////////////////////////////////////////////////////////////////// +extern "C" { + class proxy_nps_Vamos { + public: + proxy_nps_Vamos() { + NPS::DetectorFactory::getInstance()->AddToken("Vamos", "Vamos"); + NPS::DetectorFactory::getInstance()->AddDetector("Vamos", Vamos::Construct); + } + }; + + proxy_nps_Vamos p_nps_Vamos; +} diff --git a/NPSimulation/Detectors/Vamos/Vamos.hh b/NPSimulation/Detectors/Vamos/Vamos.hh new file mode 100644 index 0000000000000000000000000000000000000000..d4e6b3dc0372b2e92ccef1261623cb02a75cc9fc --- /dev/null +++ b/NPSimulation/Detectors/Vamos/Vamos.hh @@ -0,0 +1,172 @@ +#ifndef Vamos_h +#define Vamos_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: Cyril Lenain contact address: lenain@lpccaen.in2p3.fr * + * * + * Creation Date : octobre 2018 * + * Last update : 09/01/2019 * + *---------------------------------------------------------------------------* + * Decription: * + * This class describe The Vamos spectrometer * + * * + *---------------------------------------------------------------------------* + * 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 "G4UnionSolid.hh" + +// NPTool header +#include "NPSVDetector.hh" +#include "TVamosData.h" +#include "NPInputParser.h" + +class Vamos : public NPS::VDetector{ + //////////////////////////////////////////////////// + /////// Default Constructor and Destructor ///////// + //////////////////////////////////////////////////// + public: + Vamos() ; + virtual ~Vamos() ; + + //////////////////////////////////////////////////// + /////// Specific Function of this Class /////////// + //////////////////////////////////////////////////// + public: + + void AddVamos(G4double R,double Theta); + void AddBeamCatcher(string Material, G4double Width, double Length, double Thickness, G4ThreeVector Pos); + void AddDetector(G4double Z, string Gas, double Pressure, double Temperature); + void AddIC(G4double Z, double Thickness, string Gas, double Pressure, double Temperature); + + G4LogicalVolume* BuildDC1(); + G4LogicalVolume* BuildDC2(); + + G4LogicalVolume* BuildQuad1(); + G4LogicalVolume* BuildQuad2(); + G4LogicalVolume* BuildDipol(); + + G4LogicalVolume* BuildBeamCatcher(); + G4LogicalVolume* BuildMWPPAC(); + G4LogicalVolume* BuildDC3(); + G4LogicalVolume* BuildDC4(); + G4LogicalVolume* BuildIC(); + + private: + + G4LogicalVolume* m_DC1; + G4LogicalVolume* m_DC2; + + G4LogicalVolume* m_Quad1; + G4LogicalVolume* m_Quad2; + G4LogicalVolume* m_Dipol; + + G4LogicalVolume* m_BeamCatcher; + G4LogicalVolume* m_MWPPAC; + G4LogicalVolume* m_DC3; + G4LogicalVolume* m_DC4; + G4LogicalVolume* m_IC; + + G4double ICcounter; + + //////////////////////////////////////////////////// + ////// Inherite from NPS::VDetector class ///////// + //////////////////////////////////////////////////// + public: + // Read stream at Configfile to pick-up parameters of detector (Position,...) + + void ClearGeometry(); + + // 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 Vamos + void InitializeScorers() ; + + // Associated Scorer + G4MultiFunctionalDetector* m_CalorimeterScorer ; + G4MultiFunctionalDetector* m_DCScorer ; + + //////////////////////////////////////////////////// + ///////////Event class to store Data//////////////// + //////////////////////////////////////////////////// + + private: + TVamosData* m_Event ; + + //////////////////////////////////////////////////// + ///////////////Private intern Data////////////////// + //////////////////////////////////////////////////// + + private: + + // Geometry + + G4double R_Catcher = 0; + G4double CatcherWidth = 0; + G4double CatcherLength = 0; + G4double CatcherThickness = 0; + G4double m_R = 0; // distance Target- Entrance of the Mother Volume + G4double m_Theta = 0; + // Detector Coordinate + + string CatcherMaterial; + + G4ThreeVector m_PosCatcher; + vector<G4double> m_Z ; + vector<string> m_Gas; + vector<G4double> m_Pressure; + vector<G4double> m_Temperature; + + vector<G4double> m_ZIC; + vector<G4double> m_ThicknessIC; + vector<G4double> m_PressureIC; + vector<G4double> m_TemperatureIC; + vector<string> m_GasIC; + + // Shape type + + // Visualisation Attribute + G4VisAttributes* m_VisQuad; + G4VisAttributes* m_VisDC; + G4VisAttributes* m_VisVolumeVamos; + G4VisAttributes* m_VisCatcher; + G4VisAttributes* m_VisGasC4H10; + G4VisAttributes* m_VisGasCF4; + + public: + static NPS::VDetector* Construct(); +}; + +#endif diff --git a/NPSimulation/Detectors/beam_dump/cmake_install.cmake b/NPSimulation/Detectors/beam_dump/cmake_install.cmake index be0d02e91221e2f41fea379a06699fee73960373..0974316586c4759d2b0697085160a601e85d6888 100644 --- a/NPSimulation/Detectors/beam_dump/cmake_install.cmake +++ b/NPSimulation/Detectors/beam_dump/cmake_install.cmake @@ -1,4 +1,4 @@ -# Install script for directory: /scratch/nptool/NPSimulation/Detectors/beam_dump +# Install script for directory: /home/lenain/nptool/NPSimulation/Detectors/beam_dump # Set the install prefix if(NOT DEFINED CMAKE_INSTALL_PREFIX) diff --git a/NPSimulation/EventGenerator/CMakeLists.txt b/NPSimulation/EventGenerator/CMakeLists.txt index 3bcc1361a6f2285bca1cbc0c19b6d88e650c4752..5a478e5119b7dfa61806f03673015a48091b008d 100644 --- a/NPSimulation/EventGenerator/CMakeLists.txt +++ b/NPSimulation/EventGenerator/CMakeLists.txt @@ -1,2 +1,3 @@ -add_library(NPSEventGenerator OBJECT EventGeneratorBeam.cc EventGeneratorMultipleParticle.cc EventGeneratorCosmic.cc EventGeneratorIsotropic.cc VEventGenerator.cc) +#add_library(NPSEventGenerator OBJECT EventGeneratorBeam.cc EventGeneratorMultipleParticle.cc EventGeneratorCosmic.cc EventGeneratorIsotropic.cc VEventGenerator.cc) +add_library(NPSEventGenerator OBJECT EventGeneratorBeam.cc EventGeneratorMultipleParticle.cc EventGeneratorIsotropic.cc VEventGenerator.cc) #target_link_libraries(NPSEventGenerator ${ROOT_LIBRARIES} ${Geant4_LIBRARIES} ${NPLib_LIBRARIES} -lNPInitialConditions -lNPInteractionCoordinates ) diff --git a/NPSimulation/EventGenerator/EventGeneratorCosmic.cc b/NPSimulation/EventGenerator/EventGeneratorCosmic.cc index af76a85dcd29508ab8c040edd7069f8112d32864..fa19c0ef8a39fee0ea66a125e5468844495a074e 100644 --- a/NPSimulation/EventGenerator/EventGeneratorCosmic.cc +++ b/NPSimulation/EventGenerator/EventGeneratorCosmic.cc @@ -136,8 +136,8 @@ void EventGeneratorCosmic::ReadConfiguration(NPL::InputParser parser){ G4double CosmicAngle; - G4double H = 1500*mm; - G4double R = 500*mm; + G4double H = 1500.*mm; + G4double R = 500.*mm; G4double x0 =0; G4double m_y0 = 0; G4double z0 = 0; @@ -148,7 +148,7 @@ void EventGeneratorCosmic::ReadConfiguration(NPL::InputParser parser){ G4double angle = 0; //<<<<<<< HEAD - TF1* cosSq= new TF1("cosSq", "TMath::Power(cos(x),2)", 0, (TMath::Pi())/2); + 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"); @@ -185,7 +185,7 @@ void EventGeneratorCosmic::GenerateEvent(G4Event*){ - angle = RandFlat::shoot()*2*pi; + angle = RandFlat::shoot()*2.*pi; CosmicAngle = cosSq->GetRandom(); randomize1 = RandFlat::shoot() ; randomize2 = RandFlat::shoot() ; @@ -211,16 +211,16 @@ void EventGeneratorCosmic::GenerateEvent(G4Event*){ // Begin Constrain to pass in a square with L = 3* R - x0 = R*(randomize1-0.5)*3; - z0 = R*(randomize2-0.5)*3; + 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); + 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 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/CMakeLists.txt b/NPSimulation/Scorers/CMakeLists.txt index 83972fed277ca34a8e2963b26912283ad7e971ac..0e285e53a64a9043ddc806641b5918128ce85c81 100644 --- a/NPSimulation/Scorers/CMakeLists.txt +++ b/NPSimulation/Scorers/CMakeLists.txt @@ -1,2 +1,2 @@ -add_library(NPSScorers SHARED NPSHitsMap.hh CalorimeterScorers.cc InteractionScorers.cc DSSDScorers.cc SiliconScorers.cc PhotoDiodeScorers.cc ObsoleteGeneralScorers.cc DriftElectronScorers.cc TPCScorers.cc MDMScorer.cc NeutronDetectorScorers.cc ) +add_library(NPSScorers SHARED DriftChamberScorers.cc NPSHitsMap.hh CalorimeterScorers.cc InteractionScorers.cc DSSDScorers.cc SiliconScorers.cc PhotoDiodeScorers.cc ObsoleteGeneralScorers.cc DriftElectronScorers.cc TPCScorers.cc MDMScorer.cc NeutronDetectorScorers.cc ) target_link_libraries(NPSScorers ${ROOT_LIBRARIES} ${Geant4_LIBRARIES} ${NPLib_LIBRARIES} -lNPInitialConditions -lNPInteractionCoordinates) 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/NPSimulation/Scorers/DriftChamberScorers.cc b/NPSimulation/Scorers/DriftChamberScorers.cc new file mode 100644 index 0000000000000000000000000000000000000000..5073878a1dd5ed6c7362839374454cbd5beacd9a --- /dev/null +++ b/NPSimulation/Scorers/DriftChamberScorers.cc @@ -0,0 +1,128 @@ +/***************************************************************************** + * 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: Cyril Lenain contact adresse: lenain@lpccaen.in2p3.fr * + * * + * Creation Date : June 2018 * + * Last update : 09/01/19 * + *---------------------------------------------------------------------------* + * Decription: * + * Scorer for Drift Chamber based on cathode strips for X position and * + * drift time for Y * + * * + *---------------------------------------------------------------------------* + * Comment: * + *****************************************************************************/ + +#include "DriftChamberScorers.hh" +#include "G4UnitsTable.hh" +#include "G4VPhysicalVolume.hh" +using namespace DriftChamberScorers; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +unsigned int DCData::CalculateIndex(const vector<unsigned int>& level) { + + unsigned int size = level.size(); + unsigned int result = 0; + unsigned int multiplier = 1; + for (unsigned i = 0; i < size; i++) { + result += level[i] * multiplier; + multiplier *= 1000; + } + return result; +} + +vector<DCData>::iterator DCDataVector::find(const unsigned int& index) { + for (vector<DCData>::iterator it = m_Data.begin(); it != m_Data.end(); it++) { + if ((*it).GetIndex() == index) + return it; + } + return m_Data.end(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +PS_DriftChamber::PS_DriftChamber(G4String name, vector<G4int> NestingLevel, + const G4ThreeVector DriftDir, + const double DriftSpeed, G4int depth) + : G4VPrimitiveScorer(name, depth) { + m_NestingLevel = NestingLevel; + m_Dir = DriftDir; + m_DriftSpeed = DriftSpeed; + } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +PS_DriftChamber::~PS_DriftChamber() {} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +G4bool PS_DriftChamber::ProcessHits(G4Step* aStep, G4TouchableHistory*) { + + static unsigned int mysize = m_NestingLevel.size(); + + // Extract X and DriftTime + // We use PostStep and PreStep to have at least 2 points + t_PrePosition = aStep->GetPreStepPoint()->GetPosition(); + t_PostPosition = aStep->GetPostStepPoint()->GetPosition(); + G4VSolid* t_solid = aStep->GetPreStepPoint() + ->GetTouchableHandle() + ->GetVolume() + ->GetLogicalVolume() + ->GetSolid(); + + t_postout = t_solid->DistanceToOut(t_PostPosition, -m_Dir); + t_preout = t_solid->DistanceToOut(t_PrePosition, -m_Dir); + t_DriftTime = ((t_preout + t_postout) / m_DriftSpeed) * 0.5; + t_X = (t_PrePosition.x() + t_PostPosition.x()) * 0.5; + + t_Level.clear(); + + for (unsigned int i = 0; i < mysize; i++) + { + t_Level.push_back( + aStep->GetPreStepPoint()->GetTouchableHandle()->GetCopyNumber( + m_NestingLevel[i])); } + + vector<DCData>::iterator it; + it = m_Data.find(DCData::CalculateIndex(t_Level)); + if (it != m_Data.end()) { + it->Add(t_DriftTime / microsecond, t_X); + } + + else { + m_Data.Set(t_DriftTime / microsecond, t_X , t_Level); + } + + return TRUE; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void PS_DriftChamber::Initialize(G4HCofThisEvent*) { clear(); } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void PS_DriftChamber::EndOfEvent(G4HCofThisEvent*) { + + // An average is taken + for (vector<DCData>::iterator it = m_Data.begin(); it != m_Data.end(); it++) { + + it->Moy((*it).GetCounter()); + } + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PS_DriftChamber::clear() { + m_Data.clear(); + t_Level.clear(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void PS_DriftChamber::DrawAll() {} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void PS_DriftChamber::PrintAll() {} +//....oooOO0OOooo.......oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/NPSimulation/Scorers/DriftChamberScorers.hh b/NPSimulation/Scorers/DriftChamberScorers.hh new file mode 100644 index 0000000000000000000000000000000000000000..2c0c7c6755cef1b49481743310855f1e4ccb8e13 --- /dev/null +++ b/NPSimulation/Scorers/DriftChamberScorers.hh @@ -0,0 +1,154 @@ +#ifndef DriftChamberScorers_h +#define DriftChamberScorers_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: Cyril Lenain contact adress: lenain@lpccaen.in2p3.fr * + * * + * Creation Date : July 2018 * + * Last update : 09/01/19 * + *---------------------------------------------------------------------------* + * Decription: * + * Scorer for Drift Chamber based on cathode strips for X position and * + * drift time for Y * + *---------------------------------------------------------------------------* + * Comment: * + *****************************************************************************/ +#include "G4VFastSimulationModel.hh" +#include "G4VPrimitiveScorer.hh" +#include "NPSHitsMap.hh" +#include <map> +using namespace std; +using namespace CLHEP; + +namespace DriftChamberScorers { + + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + class DCData { + public: + DCData(const double& DriftTime, const double& X, + const vector<unsigned int>& Nesting) { + m_Index = CalculateIndex(Nesting); + m_Level = Nesting; + m_DriftTime = DriftTime; + m_X = X; + m_Counter = 1; + }; + ~DCData(){}; + + private: + unsigned int m_Index; + vector<unsigned int> m_Level; + double m_DriftTime; + double m_X; + double m_Counter; + public: + static unsigned int CalculateIndex(const vector<unsigned int>& Nesting); + + public: + inline double GetIndex() const { return m_Index;} + inline vector<unsigned int> GetLevel() const {return m_Level;}; + inline double GetDriftTime() const { return m_DriftTime; }; + inline double GetX() const { return m_X; }; + inline double GetCounter() {return m_Counter;}; + + public: + void Add(const double& DriftTime, const double& X) { + m_DriftTime += DriftTime; + m_X += X; + m_Counter ++; + }; + + void Moy(const double& Counter){ + m_DriftTime /= Counter; + m_X /= Counter; + }; + }; + + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + class DCDataVector { + public: + DCDataVector(){}; + ~DCDataVector(){}; + + private: + vector<DCData> m_Data; + + public: + vector<DCData>::iterator find(const unsigned int& index); + inline void clear() { m_Data.clear(); }; + inline vector<DCData>::iterator end() { return m_Data.end(); }; + inline vector<DCData>::iterator begin() { return m_Data.begin(); }; + inline unsigned int size() { return m_Data.size(); }; + inline void Add(const unsigned int& index, const double& DriftTime, const double& X) { + find(index)->Add(DriftTime, X); + }; + + inline void Moy( const unsigned int& index, const double& Counter){ + find(index)->Moy(Counter); + }; + + void Set(const double& DriftTime, const double& X, + const vector<unsigned int>& Nesting) { + m_Data.push_back(DCData(DriftTime, X, Nesting)); + }; + DCData* operator[](const unsigned int& i) { return &m_Data[i]; }; + }; + + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + class PS_DriftChamber : public G4VPrimitiveScorer { + + public: // with description + PS_DriftChamber(G4String name,vector<G4int> NestingLevel, const G4ThreeVector DriftDir, + const double DriftSpeed, G4int depth = 0); + ~PS_DriftChamber(); + + protected: // with description + G4bool ProcessHits(G4Step*, G4TouchableHistory*); + + public: + void Initialize(G4HCofThisEvent*); + void EndOfEvent(G4HCofThisEvent*); + void clear(); + void DrawAll(); + void PrintAll(); + + private: + vector<G4int> m_NestingLevel; + G4int m_Index; + + + private: // Needed for intermediate calculation (avoid multiple instantiation + // in Processing Hit) + DCDataVector m_Data; + vector<unsigned int> t_Level; + unsigned int t_Detector; + G4ThreeVector m_Dir; + double m_DriftSpeed; + double t_preout; + double t_postout; + double t_DriftTime; + double t_X; + G4ThreeVector t_PrePosition; + G4ThreeVector t_PostPosition; + + public: + inline unsigned int GetMult() { return m_Data.size(); }; + inline double GetDriftTime(const unsigned int& i) { + return m_Data[i]->GetDriftTime(); + }; + inline double GetX(const unsigned int& i) { return m_Data[i]->GetX(); }; + inline double GetCounter(const unsigned int& i) { return m_Data[i]->GetCounter(); }; + inline vector<unsigned int> GetLevel(const unsigned int& i) { + return m_Data[i]->GetLevel(); + }; + }; + +} // namespace DriftChamberScorers + +#endif diff --git a/Projects/Dali/Dali.detector b/Projects/Dali/Dali.detector new file mode 100644 index 0000000000000000000000000000000000000000..08bb567942278e6606bc93264f792f765c6de864 --- /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 index eade1aafcae76a25f3a3af467b8304746fd78605..c67344707f24a36a1e628d93f49084c4c84a4701 100644 --- a/Projects/Dali/carbon.reaction +++ b/Projects/Dali/carbon.reaction @@ -2,19 +2,19 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Beam Particle= 1H - ExcitationEnergy= 0 - Energy= 170 - SigmaEnergy= 0.448 - SigmaThetaX= 0.01 - SigmaPhiY= 0.01 - SigmaX= 0.01 + 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 + SigmaY= 0.01 mm %0.5 - MeanThetaX= 0 - MeanPhiY= 0 - MeanX= 0 - MeanY= 0 + MeanThetaX= 0 deg + MeanPhiY= 0 deg + MeanX= 0 mm + MeanY= 0 mm %EnergyProfilePath= %XThetaXProfilePath= %YPhiYProfilePath= @@ -24,8 +24,8 @@ TwoBodyReaction Target= 12C Light= 12C Heavy= 1H - ExcitationEnergyLight= 0.0 - ExcitationEnergyHeavy= 0.0 + 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..6e5ead539b6db5101109689fc2322131c53be365 --- /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= 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= 0 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Projects/Minos/Minos.detector b/Projects/Minos/Minos.detector index 0fee81996115e2f83ef1ee05d5bf267f04bb0abc..638518c618e3b577df569a7c107ab752af1515f2 100644 --- a/Projects/Minos/Minos.detector +++ b/Projects/Minos/Minos.detector @@ -16,8 +16,8 @@ Minos R= 35 mm THETA= 90 deg - POS = 100 100 100 cm + POS = 0 0 -50 cm PHI= 63 deg - Shape= Cylindrical + TargetLength = 152.76 mm %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%