diff --git a/CMakeModules/CorsikaUtilities.cmake b/CMakeModules/CorsikaUtilities.cmake index c2a7df5c94be91d95fadd19703260736ac4eeaa6..85105468ad429e013f499fd221b2d657e60fd612 100644 --- a/CMakeModules/CorsikaUtilities.cmake +++ b/CMakeModules/CorsikaUtilities.cmake @@ -86,6 +86,7 @@ endmacro(CORSIKA_ADD_FILES_ABSOLUTE) # function (CORSIKA_ADD_TEST name) + target_include_directories (${name} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) file (MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/test_outputs/) add_test (NAME ${name} COMMAND ${name} -o ${PROJECT_BINARY_DIR}/test_outputs/junit-${name}.xml -r junit) endfunction (CORSIKA_ADD_TEST) diff --git a/Framework/Cascade/Cascade.h b/Framework/Cascade/Cascade.h index deb90070dadd72c7d9a3f305ba31803b18d18910..d989fba6e1f5a448a296203617ccea7ae5753a94 100644 --- a/Framework/Cascade/Cascade.h +++ b/Framework/Cascade/Cascade.h @@ -29,6 +29,8 @@ namespace corsika::cascade { /** + * \class Cascade + * * The Cascade class is constructed from template arguments making * it very versatile. Via the template arguments physics models are * plugged into the cascade simulation. @@ -53,6 +55,7 @@ namespace corsika::cascade { class Cascade { using Particle = typename Stack::ParticleType; + // we only want fully configured objects Cascade() = delete; public: diff --git a/Framework/StackInterface/CMakeLists.txt b/Framework/StackInterface/CMakeLists.txt index b3e45fe644a71cd556f5ad5cfb3ec1036befc183..fa0edbef35fe95ba01cd10381247380423d28a67 100644 --- a/Framework/StackInterface/CMakeLists.txt +++ b/Framework/StackInterface/CMakeLists.txt @@ -1,9 +1,10 @@ set ( CORSIKAstackinterface_HEADERS + ParticleBase.h + StackIteratorInterface.h Stack.h SecondaryView.h - StackIteratorInterface.h - ParticleBase.h + CombinedStack.h ) set ( @@ -36,3 +37,11 @@ install ( add_executable (testStackInterface testStackInterface.cc) target_link_libraries (testStackInterface CORSIKAstackinterface CORSIKAthirdparty) # for catch2 CORSIKA_ADD_TEST(testStackInterface) + +add_executable (testSecondaryView testSecondaryView.cc) +target_link_libraries (testSecondaryView CORSIKAstackinterface CORSIKAthirdparty) # for catch2 +CORSIKA_ADD_TEST(testSecondaryView) + +add_executable (testCombinedStack testCombinedStack.cc) +target_link_libraries (testCombinedStack CORSIKAstackinterface CORSIKAthirdparty) # for catch2 +CORSIKA_ADD_TEST(testCombinedStack) diff --git a/Framework/StackInterface/CombinedStack.h b/Framework/StackInterface/CombinedStack.h new file mode 100644 index 0000000000000000000000000000000000000000..95085c66aa2843bdd0b567c0e1effb8dbeefbbbc --- /dev/null +++ b/Framework/StackInterface/CombinedStack.h @@ -0,0 +1,131 @@ + +/* + * (c) Copyright 2018 CORSIKA Project, corsika-project@lists.kit.edu + * + * See file AUTHORS for a list of contributors. + * + * This software is distributed under the terms of the GNU General Public + * Licence version 3 (GPL Version 3). See file LICENSE for a full version of + * the license. + */ + +#ifndef _include_stack_combinedstack_h_ +#define _include_stack_combinedstack_h_ + +#include <corsika/particles/ParticleProperties.h> +#include <corsika/stack/Stack.h> +#include <corsika/units/PhysicalUnits.h> + +namespace corsika::stack { + + /** + * + * + */ + template <template <typename> typename ParticleInterface, + template <typename> typename ParticleInterfaceAdd, typename StackIterator> + class CombinedParticleInterface + : public ParticleInterfaceAdd<ParticleInterface<StackIterator>> { + + using C = + CombinedParticleInterface<ParticleInterface, ParticleInterfaceAdd, StackIterator>; + using T = ParticleInterfaceAdd<ParticleInterface<StackIterator>>; + using I = ParticleInterface<StackIterator>; + + protected: + using T::GetIndex; + using T::GetStackData; + + public: + template <typename... Args1> + void SetParticleData(const std::tuple<Args1...> vA) { + I::SetParticleData(vA); + T::SetParticleData(); + } + template <typename... Args1, typename... Args2> + void SetParticleData(const std::tuple<Args1...> vA, const std::tuple<Args2...> vB) { + I::SetParticleData(vA); + T::SetParticleData(vB); + } + + template <typename... Args1> + void SetParticleData(C& p, const std::tuple<Args1...> vA) { + // static_assert(MT<I>::has_not, "error"); + I::SetParticleData(static_cast<I&>(p), vA); + T::SetParticleData(static_cast<T&>(p)); + } + template <typename... Args1, typename... Args2> + void SetParticleData(C& p, const std::tuple<Args1...> vA, + const std::tuple<Args2...> vB) { + I::SetParticleData(static_cast<I&>(p), vA); + T::SetParticleData(static_cast<T&>(p), vB); + } + }; + + /** + * Memory implementation of the most simple (stupid) particle stack object. + */ + template <typename Stack1Impl, typename Stack2Impl> + class CombinedStackImpl : public Stack1Impl, public Stack2Impl { + + public: + void Init() { + Stack1Impl::Init(); + Stack2Impl::Init(); + } + + void Clear() { + Stack1Impl::Clear(); + Stack2Impl::Clear(); + } + + unsigned int GetSize() const { return Stack1Impl::GetSize(); } + unsigned int GetCapacity() const { return Stack1Impl::GetCapacity(); } + + /** + * Function to copy particle at location i1 in stack to i2 + */ + void Copy(const unsigned int i1, const unsigned int i2) { + if (i1 >= GetSize() || i2 >= GetSize()) { + std::ostringstream err; + err << "CombinedStack: trying to access data beyond size of stack!"; + throw std::runtime_error(err.str()); + } + Stack1Impl::Copy(i1, i2); + Stack2Impl::Copy(i1, i2); + } + + /** + * Function to copy particle at location i2 in stack to i1 + */ + void Swap(const unsigned int i1, const unsigned int i2) { + if (i1 >= GetSize() || i2 >= GetSize()) { + std::ostringstream err; + err << "CombinedStack: trying to access data beyond size of stack!"; + throw std::runtime_error(err.str()); + } + Stack1Impl::Swap(i1, i2); + Stack2Impl::Swap(i1, i2); + } + + void IncrementSize() { + Stack1Impl::IncrementSize(); + Stack2Impl::IncrementSize(); + } + + void DecrementSize() { + Stack1Impl::DecrementSize(); + Stack2Impl::DecrementSize(); + } + + private: + /// the actual memory to store particle data + + }; // end class CombinedStackImpl + + template <typename Stack1Impl, typename Stack2Impl, template <typename> typename _PI> + using CombinedStack = Stack<CombinedStackImpl<Stack1Impl, Stack2Impl>, _PI>; + +} // namespace corsika::stack + +#endif diff --git a/Framework/StackInterface/ParticleBase.h b/Framework/StackInterface/ParticleBase.h index 417ca49c63bc6a03051416219193a41ea2d4ace1..e2f277e379c7ac0b393fb898ec7e6fd896dfaaf0 100644 --- a/Framework/StackInterface/ParticleBase.h +++ b/Framework/StackInterface/ParticleBase.h @@ -87,9 +87,9 @@ namespace corsika::stack { return static_cast<const StackIterator&>(*this); } - protected: + // protected: /** - @name Access to underlying stack data, these are service + @name Access to underlying stack dfata, these are service function for user classes. User code can only rely on GetIndex and GetStackData to retrieve data @{ @@ -106,6 +106,25 @@ namespace corsika::stack { ///@} }; + template <typename T> + class ParticleBaseAdd { + + public: + ParticleBaseAdd() = default; + + using T::GetIndex; + using T::GetStackData; + + public: + template <typename... Args1, typename... Args2> + void SetParticleData(Args1... args1, Args2... args2) { + T::SetParticleData(args1...); + } + + template <typename... Args1, typename... Args2> + void SetParticleData(T& p, Args1... args1, Args2... args2) {} + }; + } // namespace corsika::stack #endif diff --git a/Framework/StackInterface/SecondaryView.h b/Framework/StackInterface/SecondaryView.h index 29b25a1b7140c7e8fe76b3a98b8d38f3fb1daa4a..0993edd98e211457976905bae849e901c045c6f7 100644 --- a/Framework/StackInterface/SecondaryView.h +++ b/Framework/StackInterface/SecondaryView.h @@ -3,7 +3,6 @@ #include <corsika/stack/Stack.h> -#include <algorithm> #include <vector> namespace corsika::stack { @@ -176,6 +175,11 @@ namespace corsika::stack { bool IsEmpty() { return GetSize() == 0; } protected: + /** + * We only want to 'see' secondaries indexed in fIndices. In this + * function the conversion form iterator-index to stack-index is + * performed. + */ unsigned int GetIndexFromIterator(const unsigned int vI) const { if (vI == 0) return fProjectileIndex; return fIndices[vI - 1]; diff --git a/Framework/StackInterface/Stack.h b/Framework/StackInterface/Stack.h index aba9049a086f8996d8bdf692efe9a14f437c6538..bfb5acfbd10f5910ede79649df123bdc8aa296c5 100644 --- a/Framework/StackInterface/Stack.h +++ b/Framework/StackInterface/Stack.h @@ -49,7 +49,7 @@ namespace corsika::stack { <b>Important:</b> ParticleInterface must inherit from ParticleBase ! */ - template <typename> + template <typename> //, bool> class ParticleInterface; // forward decl /** @@ -83,7 +83,11 @@ namespace corsika::stack { delete; ///< since Stack can be very big, we don't want to copy it public: - // template<typename = std::enable_if_t<std::is_reference<StackDataType>{}>> + /** + * if StackDataType is a reference member we *have* to initialize + * it in the constructor, this is typically needed for SecondaryView + */ + template <typename = std::enable_if_t<std::is_reference<StackDataType>{}>> Stack(StackDataType vD) : fData(vD) {} @@ -96,15 +100,13 @@ namespace corsika::stack { typename = std::enable_if_t<!std::is_reference<StackDataType>{}>> Stack(Args... args) : fData(args...) {} - // , typename std::enable_if<!std::is_reference<StackDataType>::value, - // std::nullptr_t>::type = nullptr) public: typedef StackDataType StackImpl; ///< this is the type of the user-provided data structure - template <typename SI> - using PIType = ParticleInterface<SI>; + template <typename SI> //, bool IsBase> + using PIType = ParticleInterface<SI>; //, IsBase>; /** * Via the StackIteratorInterface and ConstStackIteratorInterface @@ -125,18 +127,21 @@ namespace corsika::stack { */ typedef typename StackIterator::ParticleInterfaceType ParticleType; + // friends are needed since they need access to protected members friend class StackIteratorInterface< typename std::remove_reference<StackDataType>::type, ParticleInterface, StackType>; - friend class ConstStackIteratorInterface< typename std::remove_reference<StackDataType>::type, ParticleInterface, StackType>; public: + /** + * @name Most generic proxy methods for StackDataType fData + * @{ + */ unsigned int GetCapacity() const { return fData.GetCapacity(); } unsigned int GetSize() const { return fData.GetSize(); } - template <typename... Args> auto Init(Args... args) { return fData.Init(args...); @@ -145,6 +150,7 @@ namespace corsika::stack { auto Clear(Args... args) { return fData.Clear(args...); } + ///@} public: /** @@ -231,12 +237,23 @@ namespace corsika::stack { // typename std::enable_if<HasGetIndexFromIterator<T>::value, unsigned int>::type // typename std::enable_if<std::is_base_of<decltype(*this)>, // SecondaryView<StackDataType, ParticleInterface>>::value, unsigned int>::type + /** + * Function to perform eventual transformation from + * StackIterator::GetIndex() to index in data stored in + * StackDataType fData. By default (and in almost all cases) this + * should just be identiy. See class SecondaryView for an alternative implementation. + */ unsigned int GetIndexFromIterator(const unsigned int vI) const { return vI; } + /** + * @name Return reference to StackDataType object fData for data access + * @{ + */ typename std::remove_reference<StackDataType>::type& GetStackData() { return fData; } const typename std::remove_reference<StackDataType>::type& GetStackData() const { return fData; } + ///@} }; } // namespace corsika::stack diff --git a/Framework/StackInterface/StackIteratorInterface.h b/Framework/StackInterface/StackIteratorInterface.h index 124fa158c6c0b4cb741980580c709e89bb43168b..cf1b6d7b53efb14f3fbdd4283831e1f34fe751de 100644 --- a/Framework/StackInterface/StackIteratorInterface.h +++ b/Framework/StackInterface/StackIteratorInterface.h @@ -42,31 +42,38 @@ namespace corsika::stack { the StackIteratorInterface. In addition to Stack the iterator only knows the index fIndex in the Stack data. - The template argument Particles acts as a policy to provide - readout function of Particle data from the stack. The Particle + The template argument `ParticleInterface` acts as a policy to provide + readout function of Particle data from the stack. The ParticleInterface class must know how to retrieve information from the Stack data for a particle entry at any index fIndex. + + The ParticleInterface class must be written and provided by the + user, it contains methods like <code> auto GetData() const { + return GetStackData().GetData(GetIndex()); }</code>, where + StackIteratorInterface::GetStackData() return a reference to the + object storing the particle data of type StackDataType. And + StackIteratorInterface::GetIndex() provides the iterator index to + be readout. The StackDataType is another user-provided class to + store data and must implement functions compatible with + ParticleInterface, in this example StackDataType::GetData(const unsigned int + vIndex). + + For an example see stack_example.cc, or the + corsika::processes::sibyll::SibStack class */ template <typename StackDataType, template <typename> typename ParticleInterface, - typename StackType = Stack<StackDataType, ParticleInterface>> + typename StackType = + Stack<StackDataType, ParticleInterface>> //, bool IsBase=true > class StackIteratorInterface - : public ParticleInterface< - StackIteratorInterface<StackDataType, ParticleInterface, StackType>> { + : public ParticleInterface<StackIteratorInterface<StackDataType, ParticleInterface, + StackType>> { //,IsBase> { public: - typedef StackDataType SD; - // typedef Stack<StackDataType, ParticleInterface> StackType; - /*typedef - typename std::conditional<std::is_const<StackDataType>::value, - const Stack<const StackDataType, ParticleInterface>&, - Stack<StackDataType, ParticleInterface>&>::type - StackType;*/ - - typedef ParticleInterface< - StackIteratorInterface<StackDataType, ParticleInterface, StackType>> - ParticleInterfaceType; + using ParticleInterfaceType = ParticleInterface< + StackIteratorInterface<StackDataType, ParticleInterface, StackType>>; //,IsBase>; + // friends are needed for access to protected methods friend class Stack<StackDataType, ParticleInterface>; // for access to GetIndex for Stack friend class Stack<StackDataType&, ParticleInterface>; // for access to GetIndex @@ -123,7 +130,8 @@ namespace corsika::stack { : fIndex(index) , fData(&data) { ParticleInterfaceType& p = **this; - p.SetParticleData(*parent, args...); + ParticleInterfaceType& pa = *parent; + p.SetParticleData(pa, args...); } public: @@ -192,12 +200,12 @@ namespace corsika::stack { template <typename StackDataType, template <typename> typename ParticleInterface, typename StackType = Stack<StackDataType, ParticleInterface>> class ConstStackIteratorInterface - : public ParticleInterface< - ConstStackIteratorInterface<StackDataType, ParticleInterface, StackType>> { + : public ParticleInterface<ConstStackIteratorInterface< + StackDataType, ParticleInterface, StackType>> { //,IsBase> { public: - typedef ParticleInterface< - ConstStackIteratorInterface<StackDataType, ParticleInterface, StackType>> + typedef ParticleInterface<ConstStackIteratorInterface< + StackDataType, ParticleInterface, StackType>> //,IsBase> ParticleInterfaceType; friend class Stack<StackDataType, ParticleInterface>; // for access to GetIndex diff --git a/Framework/StackInterface/comp b/Framework/StackInterface/comp new file mode 100644 index 0000000000000000000000000000000000000000..3b233562b0339c43985523bfc4c3b1406c9be28f --- /dev/null +++ b/Framework/StackInterface/comp @@ -0,0 +1,2 @@ +TestParticleInterface2<TestParticleInterface<corsika::stack::StackIteratorInterface<corsika::stack::CombinedStackImpl<corsika::stack::CombinedStackImpl<TestStackData, TestStackData2>, TestStackData3>, CombinedTestInterfaceType2, corsika::stack::Stack<corsika::stack::CombinedStackImpl<corsika::stack::CombinedStackImpl<TestStackData, TestStackData2>, TestStackData3>, CombinedTestInterfaceType2> > > >::content + diff --git a/Framework/StackInterface/testCombinedStack.cc b/Framework/StackInterface/testCombinedStack.cc new file mode 100644 index 0000000000000000000000000000000000000000..5cd65446ee3f339b48d5872f2d45192e5888e105 --- /dev/null +++ b/Framework/StackInterface/testCombinedStack.cc @@ -0,0 +1,306 @@ + +/* + * (c) Copyright 2018 CORSIKA Project, corsika-project@lists.kit.edu + * + * See file AUTHORS for a list of contributors. + * + * This software is distributed under the terms of the GNU General Public + * Licence version 3 (GPL Version 3). See file LICENSE for a full version of + * the license. + */ + +#include <corsika/stack/CombinedStack.h> +#include <corsika/stack/Stack.h> + +#include <testTestStack.h> // for testing: simple stack. This is a +// test-build, and inluce file is obtained from CMAKE_CURRENT_SOURCE_DIR + +#include <boost/type_index.hpp> +#include <type_traits> +using boost::typeindex::type_id_with_cvr; + +#include <iomanip> +#include <iostream> +#include <vector> + +#define CATCH_CONFIG_MAIN // This tells Catch to provide a main() - only do this in one + // cpp file +#include <catch2/catch.hpp> + +using namespace corsika::stack; +using namespace std; + +// definition of stack-data object +class TestStackData2 { + +public: + // these functions are needed for the Stack interface + void Init() {} + void Clear() { fData2.clear(); } + unsigned int GetSize() const { return fData2.size(); } + unsigned int GetCapacity() const { return fData2.size(); } + void Copy(const int i1, const int i2) { fData2[i2] = fData2[i1]; } + void Swap(const int i1, const int i2) { + double tmp0 = fData2[i1]; + fData2[i1] = fData2[i2]; + fData2[i2] = tmp0; + } + + // custom data access function + void SetData2(const int i, const double v) { fData2[i] = v; } + double GetData2(const int i) const { return fData2[i]; } + + // these functions are also needed by the Stack interface + void IncrementSize() { fData2.push_back(0.); } + void DecrementSize() { + if (fData2.size() > 0) { fData2.pop_back(); } + } + + // custom private data section +private: + std::vector<double> fData2; +}; + +// defintion of a stack-readout object, the iteractor dereference +// operator will deliver access to these function +template <typename T> +class TestParticleInterface2 + : public T { // corsika::stack::ParticleBaseAdd<T> {//public T { + +public: + using T::GetIndex; + using T::GetStackData; + using T::SetParticleData; + + // default version for particle-creation from input data + void SetParticleData(const std::tuple<double> v = {0.}) { SetData2(std::get<0>(v)); } + void SetParticleData(TestParticleInterface2<T>& parent, + const std::tuple<double> v = {0.}) { + SetData2(parent.GetData2() + std::get<0>(v)); + } + void SetData2(const double v) { GetStackData().SetData2(GetIndex(), v); } + double GetData2() const { return GetStackData().GetData2(GetIndex()); } +}; + +// combined stack +template <typename StackIter> +using CombinedTestInterfaceType = + corsika::stack::CombinedParticleInterface<TestParticleInterface, + TestParticleInterface2, StackIter>; + +using StackTest = CombinedStack<TestStackData, TestStackData2, CombinedTestInterfaceType>; +typedef StackTest::ParticleType Particle; + +TEST_CASE("Combined Stack", "[stack]") { + + // helper function for sum over stack data + auto sum = [](const StackTest& stack) { + double v = 0; + for (const auto& p : stack) v += p.GetData(); + return v; + }; + auto sum2 = [](const StackTest& stack) { + double v = 0; + for (const auto& p : stack) v += p.GetData2(); + return v; + }; + + SECTION("StackInterface") { + + // construct a valid Stack object + StackTest s; + s.Init(); + s.Clear(); + s.AddParticle(std::tuple{0.}); + s.Copy(s.cbegin(), s.begin()); + s.Swap(s.begin(), s.begin()); + REQUIRE(s.GetSize() == 1); + } + + SECTION("construct") { + + // construct a valid, empty Stack object + StackTest s; + } + + SECTION("write and read") { + + StackTest s; + s.AddParticle(std::tuple{9.9}); + REQUIRE(sum2(s) == 0.); + REQUIRE(sum(s) == 9.9); + } + + SECTION("delete from stack") { + + StackTest s; + REQUIRE(s.GetSize() == 0); + StackTest::StackIterator p = + s.AddParticle(std::tuple{0.}); // valid way to access particle data + p.SetData(8.9); + p.SetData2(3.); + REQUIRE(sum2(s) == 3.); + REQUIRE(sum(s) == 8.9); + REQUIRE(s.GetSize() == 1); + s.Delete(p); + REQUIRE(s.GetSize() == 0); + } + + SECTION("delete particle") { + + StackTest s; + REQUIRE(s.GetSize() == 0); + auto p = s.AddParticle( + std::tuple{9.9}); // also valid way to access particle data, identical to above + REQUIRE(s.GetSize() == 1); + p.Delete(); + REQUIRE(s.GetSize() == 0); + } + + SECTION("create secondaries") { + StackTest s; + REQUIRE(s.GetSize() == 0); + auto iter = s.AddParticle(std::tuple{9.9}); + Particle& p = *iter; // also this is valid to access particle data + p.SetData2(2); + REQUIRE(s.GetSize() == 1); + p.AddSecondary(std::tuple{4.4}); + REQUIRE(s.GetSize() == 2); + // p.AddSecondary(3.3, 2.2, 1.); + // REQUIRE(s.GetSize() == 3); + double v = 0; + for (const auto& i : s) { + v += i.GetData(); + REQUIRE(i.GetData2() == 2); + } + REQUIRE(v == 9.9 + 4.4); + } + + SECTION("get next particle") { + StackTest s; + REQUIRE(s.GetSize() == 0); + auto p1 = s.AddParticle(std::tuple{9.9}); + auto p2 = s.AddParticle(std::tuple{8.8}); + p1.SetData2(20.2); + p2.SetData2(20.3); + auto particle = s.GetNextParticle(); // first particle + REQUIRE(particle.GetData() == 8.8); + REQUIRE(particle.GetData2() == 20.3); + + particle.Delete(); + auto particle2 = s.GetNextParticle(); // first particle + REQUIRE(particle2.GetData() == 9.9); + REQUIRE(particle2.GetData2() == 20.2); + particle2.Delete(); + + REQUIRE(s.GetSize() == 0); + } +} + +//////////////////////////////////////////////////////////// + +// definition of stack-data object +class TestStackData3 { + +public: + // these functions are needed for the Stack interface + void Init() {} + void Clear() { fData3.clear(); } + unsigned int GetSize() const { return fData3.size(); } + unsigned int GetCapacity() const { return fData3.size(); } + void Copy(const int i1, const int i2) { fData3[i2] = fData3[i1]; } + void Swap(const int i1, const int i2) { + double tmp0 = fData3[i1]; + fData3[i1] = fData3[i2]; + fData3[i2] = tmp0; + } + + // custom data access function + void SetData3(const int i, const double v) { fData3[i] = v; } + double GetData3(const int i) const { return fData3[i]; } + + // these functions are also needed by the Stack interface + void IncrementSize() { fData3.push_back(0.); } + void DecrementSize() { + if (fData3.size() > 0) { fData3.pop_back(); } + } + + // custom private data section +private: + std::vector<double> fData3; +}; + +// defintion of a stack-readout object, the iteractor dereference +// operator will deliver access to these function +template <typename T> +class TestParticleInterface3 : public T { + +public: + using T::GetIndex; + using T::GetStackData; + using T::SetParticleData; + + // default version for particle-creation from input data + void SetParticleData(const std::tuple<double> v = {0.}) { SetData3(std::get<0>(v)); } + void SetParticleData(TestParticleInterface3<T>& parent, + const std::tuple<double> v = {0.}) { + SetData3(parent.GetData3() + std::get<0>(v)); + } + void SetData3(const double v) { GetStackData().SetData3(GetIndex(), v); } + double GetData3() const { return GetStackData().GetData3(GetIndex()); } +}; + +// double combined stack +// combined stack +template <typename StackIter> +using CombinedTestInterfaceType2 = + corsika::stack::CombinedParticleInterface<CombinedTestInterfaceType, + TestParticleInterface3, StackIter>; + +using StackTest2 = CombinedStack<typename StackTest::StackImpl, TestStackData3, + CombinedTestInterfaceType2>; +typedef StackTest2::ParticleType Particle2; + +TEST_CASE("Combined Stack - multi", "[stack]") { + + SECTION("create secondaries") { + + StackTest2 s; + REQUIRE(s.GetSize() == 0); + auto p1 = s.AddParticle(std::tuple{9.9}); + auto p2 = s.AddParticle(std::tuple{8.8}, std::tuple{0.1}); + p2.SetData2(0.1); // not clear why this is needed, need to check + // SetParticleData workflow for more complicated + // settings + // auto p3 = s.AddParticle( std::tuple {8.8}, std::tuple{1.}, std::tuple{0.1} ); + p1.SetData3(20.2); + p2.SetData3(10.3); + + REQUIRE(p1.GetData() == 9.9); + REQUIRE(p1.GetData2() == 0.); + p1.SetData2(10.2); + REQUIRE(p1.GetData2() == 10.2); + REQUIRE(p1.GetData3() == 20.2); + + REQUIRE(p2.GetData() == 8.8); + REQUIRE(p2.GetData2() == 0.1); + REQUIRE(p2.GetData3() == 10.3); + + auto particle = s.GetNextParticle(); // first particle + REQUIRE(particle.GetData() == 8.8); + REQUIRE(particle.GetData2() == 0.1); + REQUIRE(particle.GetData3() == 10.3); + + REQUIRE(s.GetSize() == 2); + auto sec = particle.AddSecondary(std::tuple{4.4}); + REQUIRE(s.GetSize() == 3); + REQUIRE(sec.GetData() == 4.4); + REQUIRE(sec.GetData2() == 0.1); + REQUIRE(sec.GetData3() == 10.3); + + sec.Delete(); + s.DeleteLast(); + s.GetNextParticle().Delete(); + REQUIRE(s.GetSize() == 0); + } +} diff --git a/Framework/StackInterface/testSecondaryView.cc b/Framework/StackInterface/testSecondaryView.cc new file mode 100644 index 0000000000000000000000000000000000000000..ebd2182a7dbd65f42087e66f1b5d3e78a64917b0 --- /dev/null +++ b/Framework/StackInterface/testSecondaryView.cc @@ -0,0 +1,105 @@ + +/* + * (c) Copyright 2018 CORSIKA Project, corsika-project@lists.kit.edu + * + * See file AUTHORS for a list of contributors. + * + * This software is distributed under the terms of the GNU General Public + * Licence version 3 (GPL Version 3). See file LICENSE for a full version of + * the license. + */ + +#include <corsika/stack/SecondaryView.h> +#include <corsika/stack/Stack.h> + +#include <testTestStack.h> // for testing: simple stack. This is a +// test-build, and inluce file is obtained from CMAKE_CURRENT_SOURCE_DIR + +#include <boost/type_index.hpp> +#include <type_traits> +using boost::typeindex::type_id_with_cvr; + +#include <iomanip> +#include <iostream> +#include <vector> + +#define CATCH_CONFIG_MAIN // This tells Catch to provide a main() - only do this in one + // cpp file +#include <catch2/catch.hpp> + +using namespace corsika::stack; +using namespace std; + +typedef Stack<TestStackData, TestParticleInterface> StackTest; +typedef StackTest::ParticleType Particle; + +TEST_CASE("SecondaryStack", "[stack]") { + + // helper function for sum over stack data + auto sum = [](const StackTest& stack) { + double v = 0; + for (const auto& p : stack) v += p.GetData(); + return v; + }; + + SECTION("secondary view") { + StackTest s; + REQUIRE(s.GetSize() == 0); + s.AddParticle(std::tuple{9.9}); + s.AddParticle(std::tuple{8.8}); + const double sumS = 9.9 + 8.8; + + auto particle = s.GetNextParticle(); + + typedef SecondaryView<TestStackData, TestParticleInterface> StackTestView; + StackTestView v(particle); + REQUIRE(v.GetSize() == 0); + + { + auto proj = v.GetProjectile(); + REQUIRE(proj.GetData() == particle.GetData()); + } + + v.AddSecondary(std::tuple{4.4}); + v.AddSecondary(std::tuple{4.5}); + v.AddSecondary(std::tuple{4.6}); + + REQUIRE(v.GetSize() == 3); + REQUIRE(s.GetSize() == 5); + REQUIRE(!v.IsEmpty()); + + auto sumView = [](const StackTestView& stack) { + double v = 0; + for (const auto& p : stack) { v += p.GetData(); } + return v; + }; + + REQUIRE(sum(s) == sumS + 4.4 + 4.5 + 4.6); + REQUIRE(sumView(v) == 4.4 + 4.5 + 4.6); + + v.DeleteLast(); + REQUIRE(v.GetSize() == 2); + REQUIRE(s.GetSize() == 4); + + REQUIRE(sum(s) == sumS + 4.4 + 4.5); + REQUIRE(sumView(v) == 4.4 + 4.5); + + auto pDel = v.GetNextParticle(); + v.Delete(pDel); + REQUIRE(v.GetSize() == 1); + REQUIRE(s.GetSize() == 3); + + REQUIRE(sum(s) == sumS + 4.4 + 4.5 - pDel.GetData()); + REQUIRE(sumView(v) == 4.4 + 4.5 - pDel.GetData()); + + v.Delete(v.GetNextParticle()); + REQUIRE(sum(s) == sumS); + REQUIRE(sumView(v) == 0); + REQUIRE(v.IsEmpty()); + + { + auto proj = v.GetProjectile(); + REQUIRE(proj.GetData() == particle.GetData()); + } + } +} diff --git a/Framework/StackInterface/testStackInterface.cc b/Framework/StackInterface/testStackInterface.cc index 293aa591463e3255aaa246f3f57ad4bf470bcab3..7b80b30192ad28bcf9592f9e16afabbb2cd79b10 100644 --- a/Framework/StackInterface/testStackInterface.cc +++ b/Framework/StackInterface/testStackInterface.cc @@ -9,20 +9,19 @@ * the license. */ -#include <corsika/stack/SecondaryView.h> #include <corsika/stack/Stack.h> +#include <testTestStack.h> // simple test-stack for testing. This is + // for testing only: include from + // CMAKE_CURRENT_SOURCE_DIR + #include <boost/type_index.hpp> #include <type_traits> using boost::typeindex::type_id_with_cvr; -template <typename T> -struct ID { - typedef T type; -}; - #include <iomanip> #include <iostream> +#include <tuple> #include <vector> #define CATCH_CONFIG_MAIN // This tells Catch to provide a main() - only do this in one @@ -32,72 +31,6 @@ struct ID { using namespace corsika::stack; using namespace std; -// definition of stack-data object -class TestStackData { - -public: - // these functions are needed for the Stack interface - void Init() {} - void Clear() { fData.clear(); } - unsigned int GetSize() const { return fData.size(); } - unsigned int GetCapacity() const { return fData.size(); } - void Copy(const int i1, const int i2) { fData[i2] = fData[i1]; } - void Swap(const int i1, const int i2) { - double tmp0 = fData[i1]; - fData[i1] = fData[i2]; - fData[i2] = tmp0; - } - - // custom data access function - void SetData(const int i, const double v) { fData[i] = v; } - double GetData(const int i) const { return fData[i]; } - - // these functions are also needed by the Stack interface - void IncrementSize() { fData.push_back(0.); } - void DecrementSize() { - if (fData.size() > 0) { fData.pop_back(); } - } - - // custom private data section -private: - std::vector<double> fData; -}; - -// defintion of a stack-readout object, the iteractor dereference -// operator will deliver access to these function -template <typename StackIteratorInterface> -class TestParticleInterface : public ParticleBase<StackIteratorInterface> { - using ParticleBase<StackIteratorInterface>::GetStack; - using ParticleBase<StackIteratorInterface>::GetStackData; - using ParticleBase<StackIteratorInterface>::GetIndex; - using ParticleBase<StackIteratorInterface>::GetIterator; - -public: - /* normally this function does not need to be specified here, it is - part of ParticleBase<StackIteratorInterface>. - - However, when overloading this function again with a different - parameter set, as here, seems to require also the declaration of - the original function here... - */ - - // default version for particle-creation from input data - void SetParticleData(const double v) { SetData(v); } - void SetParticleData(TestParticleInterface<StackIteratorInterface>& /*parent*/, - const double v) { - SetData(v); - } - /// alternative set-particle data for non-standard construction from different inputs - void SetParticleData(const double v, const double p) { SetData(v + p); } - void SetParticleData(TestParticleInterface<StackIteratorInterface>& /*parent*/, - const double v, const double p) { - SetData(v + p); - } - - void SetData(const double v) { GetStackData().SetData(GetIndex(), v); } - double GetData() const { return GetStackData().GetData(GetIndex()); } -}; - typedef Stack<TestStackData, TestParticleInterface> StackTest; typedef StackTest::ParticleType Particle; @@ -116,7 +49,7 @@ TEST_CASE("Stack", "[Stack]") { StackTest s; s.Init(); s.Clear(); - s.AddParticle(0.); + s.AddParticle(std::tuple{0.}); s.Copy(s.cbegin(), s.begin()); s.Swap(s.begin(), s.begin()); REQUIRE(s.GetSize() == 1); @@ -131,7 +64,7 @@ TEST_CASE("Stack", "[Stack]") { SECTION("write and read") { StackTest s; - s.AddParticle(9.9); + s.AddParticle(std::tuple{9.9}); const double v = sum(s); REQUIRE(v == 9.9); } @@ -140,7 +73,8 @@ TEST_CASE("Stack", "[Stack]") { StackTest s; REQUIRE(s.GetSize() == 0); - StackTest::StackIterator p = s.AddParticle(0.); // valid way to access particle data + StackTest::StackIterator p = + s.AddParticle(std::tuple{0.}); // valid way to access particle data p.SetData(9.9); REQUIRE(s.GetSize() == 1); s.Delete(p); @@ -151,8 +85,8 @@ TEST_CASE("Stack", "[Stack]") { StackTest s; REQUIRE(s.GetSize() == 0); - auto p = - s.AddParticle(9.9); // also valid way to access particle data, identical to above + auto p = s.AddParticle( + std::tuple{9.9}); // also valid way to access particle data, identical to above REQUIRE(s.GetSize() == 1); p.Delete(); REQUIRE(s.GetSize() == 0); @@ -162,23 +96,23 @@ TEST_CASE("Stack", "[Stack]") { StackTest s; REQUIRE(s.GetSize() == 0); - auto iter = s.AddParticle(9.9); + auto iter = s.AddParticle(std::tuple{9.9}); Particle& p = *iter; // also this is valid to access particle data REQUIRE(s.GetSize() == 1); - p.AddSecondary(4.4); + p.AddSecondary(std::tuple{4.4}); REQUIRE(s.GetSize() == 2); - p.AddSecondary(3.3, 2.2); + /*p.AddSecondary(3.3, 2.2); REQUIRE(s.GetSize() == 3); double v = 0; for (auto& p : s) { v += p.GetData(); } - REQUIRE(v == 9.9 + 4.4 + 3.3 + 2.2); + REQUIRE(v == 9.9 + 4.4 + 3.3 + 2.2);*/ } SECTION("get next particle") { StackTest s; REQUIRE(s.GetSize() == 0); - s.AddParticle(9.9); - s.AddParticle(8.8); + s.AddParticle(std::tuple{9.9}); + s.AddParticle(std::tuple{8.8}); auto particle = s.GetNextParticle(); // first particle REQUIRE(particle.GetData() == 8.8); @@ -189,65 +123,4 @@ TEST_CASE("Stack", "[Stack]") { REQUIRE(s.GetSize() == 0); } - - SECTION("secondary view") { - StackTest s; - REQUIRE(s.GetSize() == 0); - s.AddParticle(9.9); - s.AddParticle(8.8); - const double sumS = 9.9 + 8.8; - - auto particle = s.GetNextParticle(); - - typedef SecondaryView<TestStackData, TestParticleInterface> StackTestView; - StackTestView v(particle); - REQUIRE(v.GetSize() == 0); - - { - auto proj = v.GetProjectile(); - REQUIRE(proj.GetData() == particle.GetData()); - } - - v.AddSecondary(4.4); - v.AddSecondary(4.5); - v.AddSecondary(4.6); - - REQUIRE(v.GetSize() == 3); - REQUIRE(s.GetSize() == 5); - REQUIRE(!v.IsEmpty()); - - auto sumView = [](const StackTestView& stack) { - double v = 0; - for (const auto& p : stack) { v += p.GetData(); } - return v; - }; - - REQUIRE(sum(s) == sumS + 4.4 + 4.5 + 4.6); - REQUIRE(sumView(v) == 4.4 + 4.5 + 4.6); - - v.DeleteLast(); - REQUIRE(v.GetSize() == 2); - REQUIRE(s.GetSize() == 4); - - REQUIRE(sum(s) == sumS + 4.4 + 4.5); - REQUIRE(sumView(v) == 4.4 + 4.5); - - auto pDel = v.GetNextParticle(); - v.Delete(pDel); - REQUIRE(v.GetSize() == 1); - REQUIRE(s.GetSize() == 3); - - REQUIRE(sum(s) == sumS + 4.4 + 4.5 - pDel.GetData()); - REQUIRE(sumView(v) == 4.4 + 4.5 - pDel.GetData()); - - v.Delete(v.GetNextParticle()); - REQUIRE(sum(s) == sumS); - REQUIRE(sumView(v) == 0); - REQUIRE(v.IsEmpty()); - - { - auto proj = v.GetProjectile(); - REQUIRE(proj.GetData() == particle.GetData()); - } - } } diff --git a/Framework/StackInterface/testTestStack.h b/Framework/StackInterface/testTestStack.h new file mode 100644 index 0000000000000000000000000000000000000000..a3bf63466ac11b507b3cdf71dde77322d74b17ed --- /dev/null +++ b/Framework/StackInterface/testTestStack.h @@ -0,0 +1,88 @@ +#ifndef _include_corsika_stack_testTestStack_h_ +#define _include_corsika_stack_testTestStack_h_ + +#include <corsika/stack/Stack.h> +#include <tuple> +#include <vector> + +/** + * definition of stack-data object for unit tests + * + * TestStackData contain only a single variable "Data" stored in fData + * with Get/SetData functions. + */ +class TestStackData { + +public: + // these functions are needed for the Stack interface + void Init() {} + void Clear() { fData.clear(); } + unsigned int GetSize() const { return fData.size(); } + unsigned int GetCapacity() const { return fData.size(); } + void Copy(const unsigned int i1, const unsigned int i2) { fData[i2] = fData[i1]; } + void Swap(const unsigned int i1, const unsigned int i2) { + double tmp0 = fData[i1]; + fData[i1] = fData[i2]; + fData[i2] = tmp0; + } + + // custom data access function + void SetData(const unsigned int i, const double v) { fData[i] = v; } + double GetData(const unsigned int i) const { return fData[i]; } + + // these functions are also needed by the Stack interface + void IncrementSize() { fData.push_back(0.); } + void DecrementSize() { + if (fData.size() > 0) { fData.pop_back(); } + } + + // custom private data section +private: + std::vector<double> fData; +}; + +/** + * From static_cast of a StackIterator over entries in the + * TestStackData class you get and object of type + * TestParticleInterface defined here + * + * It provides Get/Set methods to read and write data to the "Data" + * storage of TestStackData obtained via + * "StackIteratorInterface::GetStackData()", given the index of the + * iterator "StackIteratorInterface::GetIndex()" + * + */ +template <typename StackIteratorInterface> +class TestParticleInterface + : public corsika::stack::ParticleBase<StackIteratorInterface> { + +public: + using corsika::stack::ParticleBase<StackIteratorInterface>::GetStackData; + using corsika::stack::ParticleBase<StackIteratorInterface>::GetIndex; + + /* + The SetParticleData methods are called for creating new entries + on the stack. You can specifiy various parametric versions to + perform this task: + */ + + // default version for particle-creation from input data + void SetParticleData(const std::tuple<double> v) { SetData(std::get<0>(v)); } + void SetParticleData(TestParticleInterface<StackIteratorInterface>& /*parent*/, + std::tuple<double> v) { + SetData(std::get<0>(v)); + } + /// alternative set-particle data for non-standard construction from different inputs + /* + void SetParticleData(const double v, const double p) { SetData(v + p); } + void SetParticleData(TestParticleInterface<StackIteratorInterface>&, + const double v, const double p) { + SetData(v + p); + }*/ + + // here are the fundamental methods for access to TestStackData data + void SetData(const double v) { GetStackData().SetData(GetIndex(), v); } + double GetData() const { return GetStackData().GetData(GetIndex()); } +}; + +#endif diff --git a/Stack/NuclearStackExtension/NuclearStackExtension.h b/Stack/NuclearStackExtension/NuclearStackExtension.h index a08dad1d72efbe061630419b17261b84c00cb297..4b3fa4ded55584a4daaff8c7fec0e1525aca48fb 100644 --- a/Stack/NuclearStackExtension/NuclearStackExtension.h +++ b/Stack/NuclearStackExtension/NuclearStackExtension.h @@ -104,7 +104,10 @@ namespace corsika::stack { }; /** - * Memory implementation of the most simple (stupid) particle stack object. + * @class NuclearStackExtensionImpl + * + * Memory implementation of the extension of particle stack of + * type InnerStackImpl with nuclear data */ template <typename InnerStackImpl> class NuclearStackExtensionImpl : public InnerStackImpl { diff --git a/nuc/DataSet04.dat b/nuc/DataSet04.dat new file mode 100644 index 0000000000000000000000000000000000000000..6a6787f0348e4ddb2ad732da6b90719c23022127 --- /dev/null +++ b/nuc/DataSet04.dat @@ -0,0 +1,1497 @@ +SPHERICA ! Z N B [MeV] dB[MeV] R0 [fm] sigma [fm] Rch [fm] Rp [fm] + 71 + 6 6 -92.16069 0.00000 2.44300 0.81000 0.00000 0.00000 + 8 8 -127.61723 0.00000 2.77700 0.83900 2.70100 2.57728 + 14 20 -283.42083 0.01411 0.00000 0.00000 0.00000 0.00000 + 16 20 -308.70312 0.00018 3.57700 0.99400 3.29900 3.20303 + 18 20 -327.32804 0.00034 0.00000 0.00000 3.40400 3.30864 + 20 16 -281.34140 0.04000 0.00000 0.00000 0.00000 0.00000 + 20 18 -313.10392 0.00456 0.00000 0.00000 0.00000 0.00000 + 20 20 -342.03360 0.00020 3.84500 0.97800 3.47800 3.38282 + 20 22 -361.87704 0.00025 3.87600 0.99900 3.51300 3.42049 + 20 24 -380.94104 0.00040 3.91200 0.97500 3.52300 3.43245 + 20 26 -398.75027 0.00225 0.00000 0.00000 3.50200 3.41260 + 20 28 -415.97198 0.00408 3.96400 0.88100 3.47900 3.39070 + 20 30 -427.47131 0.00925 0.00000 0.00000 3.52300 3.43752 + 20 32 -436.55224 0.69862 0.00000 0.00000 0.00000 0.00000 + 22 20 -346.88210 0.00546 0.00000 0.00000 0.00000 0.00000 + 22 28 -437.75775 0.00080 4.05100 0.94700 3.57000 3.48189 + 24 28 -456.32058 0.00078 4.17300 0.92400 3.64200 3.55394 + 26 28 -471.72806 0.00070 4.25800 0.90000 3.69300 3.60474 + 28 28 -483.95050 0.01109 0.00000 0.00000 3.75000 3.66189 + 28 30 -506.41717 0.00064 4.36400 0.00000 3.77600 3.68964 + 28 32 -526.80421 0.00060 4.39600 0.92600 3.81800 3.73372 + 28 34 -545.22083 0.00062 4.43800 0.93700 3.84800 3.76550 + 28 36 -561.71668 0.00064 4.48600 0.91600 3.86800 3.78703 + 28 40 -590.36648 0.00299 0.00000 0.00000 0.00000 0.00000 + 34 50 -727.28411 0.00198 0.00000 0.00000 0.00000 0.00000 + 36 50 -749.15919 0.00009 0.00000 0.00000 4.18400 4.11071 + 38 50 -768.38296 0.00106 4.99400 0.92300 4.22000 4.14633 + 40 50 -783.79526 0.00234 5.04000 0.95700 4.26900 4.19528 + 42 50 -796.39907 0.00377 5.10400 0.95000 4.31500 4.24126 + 44 50 -806.74888 0.00390 0.00000 0.00000 0.00000 0.00000 + 46 50 -814.91396 0.00470 0.00000 0.00000 0.00000 0.00000 + 48 50 -820.91761 0.07801 0.00000 0.00000 0.00000 0.00000 + 50 50 -824.62947 0.70540 0.00000 0.00000 0.00000 0.00000 + 50 58 -914.50074 0.00574 0.00000 0.00000 4.56300 4.49294 + 50 62 -953.36675 0.00426 5.47700 0.96300 4.59600 4.52748 + 50 64 -971.40893 0.00319 5.50900 0.94800 4.61000 4.54220 + 50 66 -988.51881 0.00290 5.54100 0.94500 4.62600 4.55895 + 50 68 -1004.78946 0.00283 5.57100 0.93100 4.64000 4.57366 + 50 70 -1020.38103 0.00252 5.59100 0.00000 4.65200 4.58634 + 50 72 -1035.36456 0.00268 5.62800 0.89500 4.66300 4.59800 + 50 74 -1049.79795 0.00136 5.64000 0.90800 4.67400 4.60966 + 50 76 -1063.72433 0.01071 0.00000 0.00000 0.00000 0.00000 + 50 78 -1077.18119 0.02726 0.00000 0.00000 0.00000 0.00000 + 50 80 -1090.12811 0.01066 0.00000 0.00000 0.00000 0.00000 + 50 82 -1102.68603 0.01360 0.00000 0.00000 0.00000 0.00000 + 50 84 -1109.07025 0.09996 0.00000 0.00000 0.00000 0.00000 + 52 82 -1123.25310 0.01072 0.00000 0.00000 0.00000 0.00000 + 54 82 -1141.67949 0.00707 0.00000 0.00000 4.79100 4.72873 + 56 82 -1158.07598 0.00041 5.86800 0.90000 4.83400 4.77163 + 58 82 -1172.45664 0.00252 0.00000 0.00000 4.87700 4.81458 + 60 82 -1184.88667 0.00227 5.87600 0.98900 4.91500 4.85250 + 62 82 -1195.46065 0.00274 0.00000 0.00000 4.96000 4.89755 + 64 82 -1204.13814 0.00467 0.00000 0.00000 4.98400 4.92137 + 66 82 -1210.45971 0.01066 0.00000 0.00000 5.04600 4.98370 + 68 82 -1214.98739 0.01725 0.00000 0.00000 5.07600 5.01365 + 70 82 -1218.01338 0.20839 0.00000 0.00000 0.00000 0.00000 + 80 126 -1620.54246 0.02039 0.00000 0.00000 5.48500 5.43129 + 82 116 -1559.48128 0.01465 0.00000 0.00000 5.45000 5.39422 + 82 118 -1575.81684 0.01100 0.00000 0.00000 5.45900 5.40357 + 82 120 -1591.64987 0.00808 0.00000 0.00000 5.47400 5.41899 + 82 122 -1606.96857 0.00122 6.74900 0.91800 5.48300 5.42834 + 82 124 -1621.78701 0.00124 6.76600 0.92100 5.49400 5.43971 + 82 126 -1635.89266 0.00125 6.77600 0.91300 5.50400 5.45007 + 82 128 -1645.01508 0.00147 0.00000 0.00000 5.52300 5.46952 + 82 130 -1653.97679 0.00212 0.00000 0.00000 5.54200 5.48896 + 82 132 -1662.75325 0.00235 0.00000 0.00000 5.55900 5.50638 + 84 126 -1644.64324 0.00126 0.00000 0.00000 5.53400 5.47998 + 86 126 -1651.89482 0.00318 0.00000 0.00000 5.55500 5.50082 + 88 126 -1657.67874 0.00920 0.00000 0.00000 5.57100 5.51662 + 90 126 -1662.01769 0.01296 0.00000 0.00000 0.00000 0.00000 + 92 126 -1664.94051 0.03052 0.00000 0.00000 0.00000 0.00000 +DEFORMED ! Z N B [MeV] dB [MeV] b2 (SLy4) Meas. + 233 + 10 12 -177.76671 0.00002 0.26752 1 + 12 10 -168.57233 0.00134 0.31598 1 + 12 12 -198.25158 0.00002 0.41246 1 + 12 24 -259.73456 0.50400 0.33813 0 + 14 24 -299.81662 0.13748 0.25111 1 + 14 26 -306.42490 0.55604 0.28952 1 + 24 24 -411.43757 0.00739 0.29557 1 + 24 26 -435.02054 0.00100 0.27046 1 + 26 24 -417.66588 0.06000 0.28607 1 + 26 26 -447.66458 0.00655 0.26089 1 + 32 32 -545.82241 0.03168 0.27548 1 + 34 56 -755.66446 0.36000 0.26161 0 + 38 38 -637.84931 0.03724 0.63780 1 + 40 66 -883.83736 0.53000 0.51161 0 + 44 58 -877.82772 0.00204 0.25697 1 + 44 60 -892.96127 0.00312 0.30122 1 + 46 64 -940.07111 0.01089 0.26280 1 + 46 70 -980.00574 0.00792 0.25848 1 + 52 58 -919.25903 0.05269 0.25156 1 + 52 60 -940.42588 0.17024 0.25769 1 + 52 62 -961.15577 0.02793 0.36961 1 + 54 58 -921.50947 0.10405 0.32107 1 + 54 60 -944.77137 0.01117 0.34862 1 + 54 62 -966.87486 0.01299 0.39437 1 + 54 64 -988.04976 0.01038 0.42105 1 + 54 66 -1008.28584 0.01176 0.41785 1 + 54 68 -1027.61101 0.01110 0.39897 1 + 54 70 -1046.05870 0.00186 0.34610 1 + 54 72 -1063.70971 0.00630 0.28664 1 + 54 90 -1177.14600 0.28800 0.25107 0 + 56 60 -946.80802 0.34800 0.46283 0 + 56 62 -970.80602 0.23600 0.52386 0 + 56 64 -993.41930 0.30012 0.49423 1 + 56 66 -1015.28225 0.02794 0.45705 1 + 56 68 -1035.90570 0.01252 0.42758 1 + 56 70 -1055.62849 0.01247 0.38676 1 + 56 72 -1074.50274 0.01011 0.33565 1 + 56 74 -1092.50539 0.00273 0.28219 1 + 56 90 -1199.38499 0.07227 0.28276 1 + 56 92 -1208.54101 0.08421 0.32530 1 + 58 64 -996.87112 0.36600 0.55452 0 + 58 66 -1020.03712 0.24800 0.51992 0 + 58 68 -1042.19551 0.02797 0.47928 1 + 58 70 -1063.05152 0.02790 0.43066 1 + 58 72 -1083.08320 0.02795 0.37076 1 + 58 74 -1102.27691 0.02059 0.30596 1 + 58 88 -1208.47679 0.06643 0.27043 1 + 58 90 -1219.33470 0.02945 0.33434 1 + 58 92 -1229.91032 0.04785 0.39587 1 + 58 94 -1240.38912 0.15200 0.41706 0 + 58 96 -1250.09112 0.46200 0.42490 0 + 60 66 -1022.73930 0.37800 0.55224 0 + 60 68 -1046.14530 0.25600 0.53313 0 + 60 70 -1068.67199 0.02795 0.55097 1 + 60 72 -1089.64422 0.02416 0.55943 1 + 60 74 -1110.00739 0.01179 0.32527 1 + 60 76 -1129.70293 0.01183 0.26073 1 + 60 88 -1224.77282 0.00281 0.29271 1 + 60 90 -1237.19175 0.00315 0.39403 1 + 60 92 -1249.80272 0.02462 0.43627 1 + 60 94 -1261.47885 0.11396 0.44992 1 + 60 96 -1272.46022 0.20296 0.45671 1 + 60 98 -1282.54730 0.47400 0.45965 0 + 62 68 -1048.04454 0.39000 0.53869 0 + 62 70 -1071.82854 0.26400 0.54703 0 + 62 72 -1094.23654 0.13400 0.55625 0 + 62 74 -1115.72911 0.01251 0.35409 1 + 62 76 -1136.55860 0.01187 0.28020 1 + 62 88 -1238.97399 0.00240 0.31499 1 + 62 90 -1252.82804 0.00243 0.41549 1 + 62 92 -1266.66344 0.00262 0.44882 1 + 62 94 -1279.71483 0.00952 0.45958 1 + 62 96 -1291.69986 0.07837 0.46619 1 + 62 98 -1303.08454 0.16000 0.46941 0 + 62 100 -1313.54454 0.48600 0.46957 0 + 64 72 -1096.40682 0.40800 0.54681 0 + 64 74 -1119.29682 0.13800 0.52743 0 + 64 88 -1251.18707 0.00258 0.32767 1 + 64 90 -1266.32864 0.00246 0.40202 1 + 64 92 -1281.30023 0.00250 0.44183 1 + 64 94 -1295.59749 0.00253 0.45463 1 + 64 96 -1308.99194 0.00256 0.46137 1 + 64 98 -1321.47330 0.00454 0.46516 1 + 64 100 -1333.02282 0.32800 0.46572 0 + 64 102 -1343.80482 0.66400 0.46117 0 + 66 74 -1120.80014 0.56000 0.51905 0 + 66 88 -1261.42632 0.00770 0.32280 1 + 66 90 -1277.70063 0.00655 0.38571 1 + 66 92 -1293.72542 0.00348 0.43079 1 + 66 94 -1309.13406 0.00256 0.44749 1 + 66 96 -1323.78552 0.00259 0.45499 1 + 66 98 -1337.71449 0.00246 0.45935 1 + 66 100 -1350.47410 0.00249 0.46048 1 + 66 102 -1362.59073 0.13994 0.45600 1 + 66 104 -1373.79014 0.17000 0.44510 0 + 68 88 -1269.79523 0.02449 0.30023 1 + 68 90 -1287.02880 0.02528 0.35779 1 + 68 92 -1303.92609 0.02448 0.40452 1 + 68 94 -1320.35290 0.00340 0.43385 1 + 68 96 -1336.10249 0.00312 0.44738 1 + 68 98 -1351.22716 0.00249 0.45398 1 + 68 100 -1365.43500 0.00252 0.45582 1 + 68 102 -1378.69547 0.00272 0.45165 1 + 68 104 -1391.21286 0.00464 0.44102 1 + 68 106 -1402.79249 0.34800 0.42550 0 + 70 88 -1276.15050 0.00822 0.27784 1 + 70 90 -1294.44801 0.01648 0.32482 1 + 70 92 -1312.25256 0.01604 0.36478 1 + 70 94 -1329.58624 0.01607 0.40004 1 + 70 96 -1346.29473 0.00830 0.43024 1 + 70 98 -1362.42349 0.00437 0.45114 1 + 70 100 -1377.76048 0.00238 0.45638 1 + 70 102 -1392.39445 0.00241 0.45035 1 + 70 104 -1406.22627 0.00244 0.43576 1 + 70 106 -1418.91345 0.00264 0.41847 1 + 70 108 -1431.26039 0.01032 0.40207 1 + 72 88 -1280.62524 0.01152 0.26012 1 + 72 90 -1300.00369 0.00956 0.29605 1 + 72 92 -1318.79482 0.02034 0.32715 1 + 72 94 -1336.97491 0.02789 0.35843 1 + 72 96 -1354.61911 0.02789 0.39202 1 + 72 98 -1371.65495 0.02788 0.44582 1 + 72 100 -1387.94738 0.02442 0.46359 1 + 72 102 -1403.53303 0.00278 0.45428 1 + 72 104 -1418.40662 0.00229 0.41845 1 + 72 106 -1432.41596 0.00214 0.39316 1 + 72 108 -1445.90278 0.00216 0.37754 1 + 72 110 -1458.31546 0.00637 0.36434 1 + 74 90 -1303.61571 0.01181 0.27007 1 + 74 92 -1323.41644 0.01046 0.29382 1 + 74 94 -1342.55744 0.01630 0.31962 1 + 74 96 -1361.10309 0.01513 0.36255 1 + 74 98 -1379.04965 0.02786 0.43185 1 + 74 100 -1396.32210 0.02801 0.45015 1 + 74 102 -1412.87927 0.02798 0.44309 1 + 74 104 -1428.79638 0.01531 0.39061 1 + 74 106 -1444.16739 0.00396 0.36159 1 + 74 108 -1458.91307 0.00091 0.34661 1 + 74 110 -1472.51556 0.00092 0.33351 1 + 74 112 -1485.46046 0.00167 0.31548 1 + 74 114 -1497.76058 0.00338 0.28799 1 + 74 116 -1509.53254 0.16492 0.25136 1 + 76 92 -1326.06544 0.01210 0.25837 1 + 76 94 -1346.14517 0.01088 0.27800 1 + 76 96 -1365.59807 0.01462 0.39704 1 + 76 98 -1384.49897 0.01114 0.42099 1 + 76 100 -1402.74321 0.02798 0.43157 1 + 76 102 -1420.33418 0.01638 0.42633 1 + 76 104 -1437.28946 0.02034 0.39016 1 + 76 106 -1453.68238 0.02166 0.34946 1 + 76 108 -1469.47195 0.00129 0.32709 1 + 76 110 -1484.35808 0.00130 0.30812 1 + 76 112 -1498.63756 0.00150 0.28613 1 + 76 114 -1512.35012 0.00152 0.25840 1 + 78 98 -1387.97979 0.01443 0.40918 1 + 78 100 -1407.19257 0.01086 0.42264 1 + 78 102 -1425.77316 0.01098 0.42119 1 + 78 104 -1443.64914 0.01565 0.40118 1 + 78 106 -1460.95459 0.01822 0.36856 1 + 78 108 -1477.62966 0.02176 0.33139 1 + 80 102 -1429.46162 0.00965 0.42682 1 + 88 138 -1730.96591 0.00226 0.26738 1 + 88 140 -1741.83584 0.00251 0.28587 1 + 88 142 -1752.40246 0.01219 0.30148 1 + 90 136 -1729.83809 0.00475 0.28285 1 + 90 138 -1742.40562 0.00228 0.30560 1 + 90 140 -1754.45645 0.00184 0.32075 1 + 90 142 -1766.01478 0.00209 0.33337 1 + 90 144 -1776.99141 0.00351 0.34352 1 + 90 146 -1787.26475 0.23600 0.34980 0 + 92 134 -1724.10556 0.01311 0.27440 1 + 92 136 -1738.35228 0.01505 0.31225 1 + 92 138 -1752.10483 0.00483 0.33329 1 + 92 140 -1765.25149 0.00232 0.34715 1 + 92 142 -1777.85822 0.00187 0.35853 1 + 92 144 -1789.70112 0.00189 0.36677 1 + 92 146 -1800.98110 0.00190 0.37049 1 + 92 148 -1811.71758 0.00504 0.36876 1 + 94 136 -1745.18385 0.01518 0.32796 1 + 94 138 -1759.89465 0.01810 0.34664 1 + 94 140 -1774.05327 0.00702 0.36027 1 + 94 142 -1787.64270 0.00212 0.37183 1 + 94 144 -1800.52348 0.00190 0.38030 1 + 94 146 -1812.70387 0.00192 0.38394 1 + 94 148 -1824.25491 0.00194 0.38215 1 + 94 150 -1835.31058 0.00512 0.37683 1 + 96 140 -1781.01680 0.23600 0.36935 0 + 96 142 -1795.68911 0.03665 0.38077 1 + 96 144 -1809.50224 0.00240 0.38934 1 + 96 146 -1822.56507 0.00194 0.39340 1 + 96 148 -1835.05913 0.00171 0.39233 1 + 96 150 -1847.03719 0.00197 0.38842 1 + 96 152 -1858.40608 0.00496 0.38351 1 + 98 142 -1801.57723 0.24000 0.38866 0 + 98 144 -1816.42832 0.03678 0.39702 1 + 98 146 -1830.42944 0.00293 0.40140 1 + 98 148 -1843.95952 0.00221 0.40088 1 + 98 150 -1856.95416 0.00521 0.39770 1 + 98 152 -1869.16473 0.00200 0.39386 1 + 98 154 -1880.44518 0.00504 0.38872 1 + 98 156 -1891.28115 0.01219 0.38061 1 + 100 144 -1821.32853 0.24400 0.40128 0 + 100 146 -1836.30537 0.03862 0.40601 1 + 100 148 -1850.68221 0.01166 0.40598 1 + 100 150 -1864.65753 0.01200 0.40339 1 + 100 152 -1878.05634 0.00580 0.40036 1 + 100 154 -1890.11218 0.00279 0.39617 1 + 100 156 -1901.67298 0.00717 0.38846 1 + 100 158 -1912.98053 0.25800 0.37580 0 + 102 148 -1855.59468 0.25000 0.40581 0 + 102 150 -1870.38620 0.01310 0.40377 1 + 102 152 -1884.68553 0.01753 0.40139 1 + 102 154 -1897.72867 0.00794 0.39779 1 + 102 156 -1910.10068 0.25800 0.39039 0 + 102 158 -1922.31468 0.26000 0.37800 0 + 102 160 -1933.96468 0.52400 0.36201 0 + 104 152 -1889.70921 0.02406 0.39725 1 + 104 154 -1903.60768 0.25800 0.39400 0 + 104 156 -1917.07168 0.26000 0.38730 0 + 104 158 -1929.99168 0.26200 0.37652 0 + 104 160 -1942.35568 0.52800 0.36299 0 + 104 162 -1954.68368 0.53200 0.35035 0 + 106 154 -1908.03775 0.03874 0.38787 1 + 106 156 -1922.34951 0.26200 0.38176 0 + 106 158 -1936.23951 0.26400 0.37234 0 + 106 160 -1949.31951 0.26600 0.36073 0 + 106 162 -1962.10751 0.53600 0.34929 0 + 106 164 -1974.05751 0.54000 0.33592 0 + 108 156 -1925.69700 0.04380 0.30000 1 + 108 158 -1940.23016 0.26600 0.36570 0 + 108 160 -1954.55816 0.53600 0.35506 0 + 108 162 -1968.34216 0.27000 0.34422 0 + 108 164 -1980.21016 0.54400 0.33152 0 + 108 166 -1992.58616 0.54800 0.31692 0 +DELTA3_N ! Z N Delta3 Error Meas. + 179 + 66 90 1.236011 0.015817 1 + 66 91 1.043146 0.011608 1 + 66 92 1.111383 0.008124 1 + 66 93 0.871543 0.005721 1 + 66 94 1.060700 0.005200 1 + 66 95 0.871266 0.005152 1 + 66 96 0.963021 0.005184 1 + 66 97 0.693528 0.005134 1 + 66 98 0.970962 0.005001 1 + 66 99 0.663721 0.004950 1 + 66 100 0.812905 0.033871 1 + 66 101 0.640595 0.131504 1 + 66 102 0.794315 0.320413 1 + 66 103 0.489430 0.455623 0 + 66 104 0.798569 0.491326 0 + 66 105 0.667000 0.599000 0 + 66 106 0.878000 0.774500 0 + 68 90 1.310176 0.041399 1 + 68 91 1.113687 0.029173 1 + 68 92 1.170212 0.031296 1 + 68 93 0.991497 0.023279 1 + 68 94 1.151089 0.010679 1 + 68 95 0.972069 0.008475 1 + 68 96 1.098414 0.007291 1 + 68 97 0.912298 0.005938 1 + 68 98 1.019105 0.005310 1 + 68 99 0.667499 0.005010 1 + 68 100 0.884072 0.005040 1 + 68 101 0.626958 0.005155 1 + 68 102 0.787811 0.005356 1 + 68 103 0.577123 0.006418 1 + 68 104 0.795093 0.092512 0 + 68 105 0.544184 0.349322 0 + 68 106 0.797500 0.609500 0 + 68 107 0.597000 0.700000 0 + 68 108 0.720000 0.792500 0 + 70 90 1.326147 0.033592 1 + 70 91 1.156470 0.032198 1 + 70 92 1.257375 0.031995 1 + 70 93 1.122843 0.032029 1 + 70 94 1.226862 0.038001 1 + 70 95 1.018287 0.040071 1 + 70 96 1.147836 0.024580 1 + 70 97 0.987519 0.011010 1 + 70 98 1.092449 0.008903 1 + 70 99 0.801494 0.007768 1 + 70 100 0.927748 0.005774 1 + 70 101 0.702494 0.004788 1 + 70 102 0.826099 0.004816 1 + 70 103 0.548626 0.004844 1 + 70 104 0.821005 0.004872 1 + 70 105 0.521062 0.004988 1 + 70 106 0.649099 0.005192 1 + 70 107 0.607020 0.009137 1 + 70 108 0.967020 0.190652 0 + 70 109 0.599273 0.543162 0 + 70 110 0.825500 0.720000 0 + 72 90 1.370594 0.034765 1 + 72 91 1.211121 0.042820 1 + 72 92 1.360707 0.048215 1 + 72 93 1.204780 0.051997 1 + 72 94 1.307404 0.055775 1 + 72 95 1.142078 0.055777 1 + 72 96 1.268299 0.055775 1 + 72 97 1.090345 0.055769 1 + 72 98 1.179695 0.056272 1 + 72 99 0.897333 0.055051 1 + 72 100 0.981974 0.052886 1 + 72 101 0.713233 0.041630 1 + 72 102 0.898721 0.018197 1 + 72 103 0.728173 0.005336 1 + 72 104 0.890780 0.004750 1 + 72 105 0.621263 0.004336 1 + 72 106 0.763501 0.004272 1 + 72 107 0.644483 0.004296 1 + 72 108 0.846532 0.004320 1 + 72 109 0.511504 0.006437 1 + 72 110 0.709429 0.022462 1 + 72 111 0.493735 0.053069 1 + 72 112 0.695571 0.147250 0 + 72 113 0.609344 0.390872 0 + 72 114 0.758000 0.651500 0 + 72 115 0.734000 0.842000 0 + 90 136 0.861069 0.008582 1 + 90 137 0.821505 0.006010 1 + 90 138 0.924103 0.004903 1 + 90 139 0.768352 0.004808 1 + 90 140 0.837797 0.004138 1 + 90 141 0.660994 0.003812 1 + 90 142 0.826877 0.004060 1 + 90 143 0.701911 0.004896 1 + 90 144 0.880002 0.029586 1 + 90 145 0.706443 0.169810 0 + 90 146 0.792555 0.498027 0 + 90 147 0.700000 0.711000 0 + 92 136 0.891580 0.026424 1 + 92 137 0.790906 0.015893 1 + 92 138 0.894230 0.009308 1 + 92 139 0.694606 0.006578 1 + 92 140 0.752914 0.005220 1 + 92 141 0.541259 0.004892 1 + 92 142 0.773575 0.004210 1 + 92 143 0.623977 0.003760 1 + 92 144 0.709860 0.003776 1 + 92 145 0.514288 0.003792 1 + 92 146 0.673860 0.003808 1 + 92 147 0.561677 0.005384 1 + 92 148 0.727979 0.126496 0 + 92 149 0.685520 0.364520 0 + 94 136 0.908780 0.053995 1 + 94 137 0.635736 0.042972 1 + 94 138 0.803041 0.056427 1 + 94 139 0.694259 0.062886 1 + 94 140 0.768226 0.042524 1 + 94 141 0.557598 0.025252 1 + 94 142 0.735778 0.013530 1 + 94 143 0.559636 0.004147 1 + 94 144 0.676976 0.003927 1 + 94 145 0.444117 0.003824 1 + 94 146 0.646420 0.003840 1 + 94 147 0.534049 0.003856 1 + 94 148 0.637640 0.004479 1 + 94 149 0.493543 0.006689 1 + 94 150 0.625302 0.013931 1 + 94 151 0.505728 0.024643 1 + 94 152 0.686288 0.145979 0 + 96 138 0.860121 0.171634 0 + 96 139 0.549677 0.362126 0 + 96 140 0.709000 0.472000 0 + 96 141 0.734157 0.373326 0 + 96 142 0.882814 0.155152 0 + 96 143 0.601877 0.019526 0 + 96 144 0.707599 0.003484 0 + 96 145 0.438176 0.004337 1 + 96 146 0.638396 0.004114 1 + 96 147 0.554231 0.004009 1 + 96 148 0.640464 0.003781 1 + 96 149 0.468693 0.003798 1 + 96 150 0.650947 0.005171 1 + 96 151 0.528623 0.007910 1 + 96 152 0.749956 0.009673 1 + 96 153 0.559696 0.013085 1 + 96 154 0.709914 0.025160 1 + 96 155 0.679776 0.154466 0 + 98 140 0.831500 0.832500 0 + 98 141 0.598000 0.597000 0 + 98 142 0.720000 0.480000 0 + 98 143 0.638542 0.379392 0 + 98 144 0.800084 0.278784 0 + 98 145 0.536646 0.262856 0 + 98 146 0.686725 0.125898 0 + 98 147 0.601284 0.005511 1 + 98 148 0.669912 0.007759 1 + 98 149 0.470818 0.011862 1 + 98 150 0.691349 0.010404 1 + 98 151 0.519847 0.005845 1 + 98 152 0.758315 0.005379 1 + 98 153 0.531722 0.008038 1 + 98 154 0.683826 0.010335 1 + 98 155 0.613687 0.014688 1 + 98 156 0.722790 0.142728 0 + 98 157 0.657956 0.389096 0 + 100 143 0.609000 0.607000 0 + 100 144 0.853500 0.488000 0 + 100 145 0.755418 0.386311 0 + 100 146 0.778836 0.284622 0 + 100 147 0.502258 0.272139 0 + 100 148 0.723680 0.135156 0 + 100 149 0.744340 0.011828 0 + 100 150 0.786805 0.016141 0 + 100 151 0.541016 0.017181 1 + 100 152 0.850559 0.011835 1 + 100 153 0.488613 0.008090 1 + 100 154 0.670112 0.007114 1 + 100 155 0.604096 0.009826 1 + 100 156 0.708287 0.012803 1 + 100 157 0.685852 0.139009 0 + 100 158 0.885314 0.390713 0 + 100 159 0.899000 0.648000 0 +DELTA3_P ! N Z Delta3 Error Meas. + 149 + 90 56 1.547525 0.101742 1 + 90 57 0.846937 0.098930 1 + 90 58 1.438443 0.094536 1 + 90 59 0.983616 0.098400 1 + 90 60 1.463936 0.046842 1 + 90 61 0.833878 0.008076 1 + 90 62 1.384523 0.006299 1 + 90 63 0.867323 0.004896 1 + 90 64 1.399328 0.009733 1 + 90 65 0.867022 0.016598 1 + 90 66 1.488387 0.024843 1 + 90 67 1.087846 0.040408 1 + 90 68 1.604275 0.051518 1 + 90 69 1.166224 0.048864 1 + 90 70 1.603471 0.044479 1 + 90 71 1.108959 0.041033 1 + 90 72 1.621532 0.042636 1 + 90 73 1.162271 0.048825 1 + 90 74 1.634994 0.044739 1 + 94 56 1.545614 0.751000 0 + 94 57 0.550885 0.754000 0 + 94 58 1.165221 0.430367 0 + 94 59 0.796868 0.236714 0 + 94 60 1.390670 0.180862 1 + 94 61 0.557600 0.091808 1 + 94 62 1.150088 0.027220 1 + 94 63 0.565913 0.011360 1 + 94 64 1.193627 0.006469 1 + 94 65 0.648296 0.005088 1 + 94 66 1.307286 0.005442 1 + 94 67 0.807411 0.006201 1 + 94 68 1.373835 0.008027 1 + 94 69 0.947508 0.015768 1 + 94 70 1.434169 0.032370 1 + 94 71 0.998500 0.048545 1 + 94 72 1.462478 0.055115 1 + 94 73 1.023384 0.049981 1 + 94 74 1.521906 0.044268 1 + 98 58 1.454616 1.247000 0 + 98 59 0.965883 1.020000 0 + 98 60 1.560118 0.789000 0 + 98 61 0.569882 0.476000 0 + 98 62 1.110119 0.400500 0 + 98 63 0.576117 0.404268 0 + 98 64 1.089316 0.167900 0 + 98 65 0.528730 0.008225 1 + 98 66 1.220352 0.006061 1 + 98 67 0.547715 0.004950 1 + 98 68 1.205275 0.005064 1 + 98 69 0.704661 0.006101 1 + 98 70 1.261905 0.008323 1 + 98 71 0.836722 0.021363 1 + 98 72 1.355072 0.044436 1 + 98 73 0.955037 0.055745 1 + 98 74 1.460228 0.055814 1 + 102 62 1.294119 1.557500 0 + 102 63 0.673880 1.402000 0 + 102 64 1.151121 1.161000 0 + 102 65 0.639171 0.735972 0 + 102 66 1.258002 0.316999 0 + 102 67 0.536252 0.091443 1 + 102 68 1.105483 0.014058 1 + 102 69 0.471835 0.005129 1 + 102 70 1.209795 0.004902 1 + 102 71 0.667558 0.005018 1 + 102 72 1.199502 0.017995 1 + 102 73 0.835269 0.043384 1 + 102 74 1.302755 0.055967 1 + 106 66 1.536122 0.944500 0 + 106 67 0.785877 0.692000 0 + 106 68 1.231061 0.546025 0 + 106 69 0.394551 0.225370 0 + 106 70 1.141859 0.028727 1 + 106 71 0.579946 0.004512 1 + 106 72 1.066655 0.004272 1 + 106 73 0.677826 0.005196 1 + 106 74 1.205591 0.011279 1 + 140 87 0.764086 0.327361 0 + 140 88 1.262631 0.069164 1 + 140 89 0.850493 0.035379 1 + 140 90 1.225721 0.019598 1 + 140 91 0.688164 0.004390 1 + 140 92 1.077069 0.028989 1 + 140 93 0.469344 0.055697 1 + 140 94 0.956174 0.150033 0 + 140 95 0.523878 0.356510 0 + 140 96 0.963141 0.472000 0 + 140 97 0.571858 0.593000 0 + 142 87 0.861930 0.271422 0 + 142 88 1.349118 0.080865 1 + 142 89 0.934167 0.107162 1 + 142 90 1.255505 0.053148 1 + 142 91 0.692402 0.004077 1 + 142 92 1.120897 0.003861 1 + 142 93 0.519916 0.003878 1 + 142 94 0.930851 0.003064 0 + 142 95 0.472750 0.019388 0 + 142 96 1.017455 0.156152 0 + 142 97 0.483015 0.377326 0 + 142 98 0.981142 0.480000 0 + 142 99 0.579857 0.603000 0 + 144 88 1.275636 0.579500 0 + 144 89 0.913196 0.350755 0 + 144 90 1.344074 0.145038 0 + 144 91 0.800021 0.052754 1 + 144 92 1.155614 0.027864 1 + 144 93 0.567539 0.003792 1 + 144 94 0.968146 0.004047 1 + 144 95 0.446946 0.004542 1 + 144 96 0.978702 0.124095 0 + 144 97 0.484120 0.260592 0 + 144 98 1.060226 0.278784 0 + 144 99 0.623399 0.383392 0 + 144 100 1.120643 0.488000 0 + 146 89 0.822863 0.822000 0 + 146 90 1.192751 0.521007 0 + 146 91 0.745368 0.218966 0 + 146 92 1.168272 0.052986 1 + 146 93 0.594382 0.004063 1 + 146 94 0.997465 0.003959 1 + 146 95 0.469764 0.003856 1 + 146 96 1.008497 0.005330 1 + 146 97 0.548814 0.007292 1 + 146 98 1.086708 0.127858 0 + 146 99 0.630379 0.265775 0 + 146 100 1.044979 0.284622 0 + 146 101 0.492274 0.390311 0 + 148 91 0.688382 0.360520 0 + 148 92 1.116487 0.159967 0 + 148 93 0.544839 0.074342 1 + 148 94 1.000597 0.038456 1 + 148 95 0.589801 0.004009 1 + 148 96 1.042104 0.003904 1 + 148 97 0.542491 0.004166 1 + 148 98 1.117592 0.003316 0 + 148 99 0.603842 0.006935 0 + 148 100 1.112323 0.136156 0 + 148 101 0.715696 0.379828 0 + 148 102 1.146645 0.500000 0 + 150 93 0.824535 0.123562 0 + 150 94 1.143003 0.006839 0 + 150 95 0.687758 0.006976 1 + 150 96 1.076950 0.006400 1 + 150 97 0.561325 0.009022 1 + 150 98 1.145474 0.007925 0 + 150 99 0.622821 0.008604 0 + 150 100 1.037143 0.137500 0 + 150 101 0.464116 0.263552 0 + 150 102 0.967665 0.265104 0 +SDSTATES ! Z N B [MeV] ESD [MeV] beta Reference + 13 + 18 18 -306.70166 4.329 0.6 Nucl. Phys. A682, 1c (2001) + 20 20 -342.03357 5.212 0.6 Phys. Rev. Lett. 87, 222501 (2001) + 30 30 -514.94141 7.500 0.6 Phys. Rev. Lett. 82, 3400 (1999) + 66 86 -1245.01013 7.500 0.6 Phys. Rev. Lett. 88, 042501 (2002) + 80 112 -1518.61035 5.300 0.6 Phys. Rev. Lett. 77, 1707 (1996) + 80 114 -1534.93335 6.017 0.6 Phys. Rev. Lett. 73, 777 (1994) + 82 110 -1507.55969 4.011 0.6 Phys. Rev. C49, 2849 (1994) + 82 112 -1525.35364 4.640 0.6 Phys. Rev. C55, 2819 (1997) + 82 114 -1542.64868 5.630 0.6 ANU-P/1667 (2005) + 92 144 -1789.70166 2.750 0.7 + 92 146 -1800.98157 2.557 0.7 + 94 146 -1812.70387 2.800 0.7 + 96 146 -1822.56482 1.900 0.7 +MONOPRES ! Z N E [MeV] DeltaE [MeV] + 3 + 40 50 17.81 0.35 + 50 66 15.83 0.06 + 82 126 14.18 0.11 +DIPOLRES ! Z N E [MeV] + 3 + 40 50 16.74 + 50 66 15.68 + 82 126 13.63 +ODDNUCLE ! Z N Spin Par. Meas. + 630 + 6 5 1.5 -1 1 + 6 7 0.5 -1 1 + 6 9 0.5 1 1 + 7 4 0.5 1 1 + 7 6 0.5 -1 1 + 7 8 0.5 -1 1 + 7 10 0.5 -1 1 + 8 7 0.5 -1 1 + 8 9 2.5 1 1 + 8 11 2.5 1 1 + 9 8 2.5 1 1 + 9 10 0.5 1 1 + 9 12 2.5 1 1 + 10 7 0.5 -1 1 + 10 9 0.5 1 1 + 10 11 1.5 1 1 + 10 13 2.5 1 1 + 11 10 1.5 1 1 + 11 12 1.5 1 1 + 11 14 2.5 1 1 + 11 16 2.5 1 1 + 12 11 1.5 1 1 + 12 13 2.5 1 1 + 12 15 0.5 1 1 + 12 17 1.5 1 1 + 12 19 1.5 1 1 + 13 12 2.5 1 1 + 13 14 2.5 1 1 + 13 16 2.5 1 1 + 14 11 2.5 1 1 + 14 13 2.5 1 1 + 14 15 0.5 1 1 + 14 17 1.5 1 1 + 15 12 0.5 1 1 + 15 14 0.5 1 1 + 15 16 0.5 1 1 + 15 18 0.5 1 1 + 15 20 0.5 1 1 + 16 13 2.5 1 1 + 16 15 0.5 1 1 + 16 17 1.5 1 1 + 16 19 1.5 1 1 + 16 21 3.5 -1 1 + 17 14 1.5 1 1 + 17 16 1.5 1 1 + 17 18 1.5 1 1 + 17 20 1.5 1 1 + 17 22 1.5 1 1 + 18 15 0.5 1 1 + 18 17 1.5 1 1 + 18 19 1.5 1 1 + 18 21 3.5 -1 1 + 18 23 3.5 -1 1 + 19 16 1.5 1 1 + 19 18 1.5 1 1 + 19 20 1.5 1 1 + 19 22 1.5 1 1 + 19 24 1.5 1 1 + 19 26 1.5 1 1 + 19 28 0.5 1 1 + 20 19 1.5 1 1 + 20 21 3.5 -1 1 + 20 23 3.5 -1 1 + 20 25 3.5 -1 1 + 20 27 3.5 -1 1 + 20 29 1.5 -1 1 + 21 20 3.5 -1 1 + 21 22 3.5 -1 1 + 21 24 3.5 -1 1 + 21 26 3.5 -1 1 + 21 28 3.5 -1 1 + 22 19 1.5 1 0 + 22 21 3.5 -1 1 + 22 23 3.5 -1 1 + 22 25 2.5 -1 1 + 22 27 3.5 -1 1 + 22 29 1.5 -1 1 + 23 22 3.5 -1 1 + 23 24 1.5 -1 1 + 23 26 3.5 -1 1 + 23 28 3.5 -1 1 + 23 30 3.5 -1 1 + 24 23 1.5 -1 1 + 24 25 2.5 -1 1 + 24 27 3.5 -1 1 + 24 29 1.5 -1 1 + 24 31 1.5 -1 1 + 25 24 2.5 -1 1 + 25 26 2.5 -1 1 + 25 28 3.5 -1 1 + 25 30 2.5 -1 1 + 25 32 2.5 -1 1 + 26 25 2.5 -1 1 + 26 27 3.5 -1 1 + 26 29 1.5 -1 1 + 26 31 0.5 -1 1 + 26 33 1.5 -1 1 + 27 28 3.5 -1 1 + 27 30 3.5 -1 1 + 27 32 3.5 -1 1 + 27 34 3.5 -1 1 + 27 36 3.5 -1 1 + 28 27 3.5 -1 1 + 28 29 1.5 -1 1 + 28 31 1.5 -1 1 + 28 33 1.5 -1 1 + 28 35 0.5 -1 1 + 28 37 2.5 -1 1 + 28 39 0.5 -1 1 + 28 41 4.5 1 1 + 29 28 1.5 -1 1 + 29 30 1.5 -1 1 + 29 32 1.5 -1 1 + 29 34 1.5 -1 1 + 29 36 1.5 -1 1 + 29 38 1.5 -1 1 + 29 40 1.5 -1 1 + 30 29 1.5 -1 1 + 30 31 1.5 -1 1 + 30 33 1.5 -1 1 + 30 35 2.5 -1 1 + 30 37 2.5 -1 1 + 30 39 0.5 -1 1 + 30 41 0.5 -1 1 + 31 30 1.5 -1 1 + 31 34 1.5 -1 1 + 31 36 1.5 -1 1 + 31 38 1.5 -1 1 + 31 40 1.5 -1 1 + 31 42 1.5 -1 1 + 32 35 0.5 -1 1 + 32 37 2.5 -1 1 + 32 39 0.5 -1 1 + 32 41 4.5 1 1 + 32 43 0.5 -1 1 + 32 45 3.5 1 1 + 33 36 2.5 -1 1 + 33 38 2.5 -1 1 + 33 40 1.5 -1 1 + 33 42 1.5 -1 1 + 33 44 1.5 -1 1 + 33 46 1.5 -1 1 + 33 48 1.5 -1 1 + 34 37 2.5 -1 1 + 34 39 4.5 1 1 + 34 41 2.5 1 1 + 34 43 0.5 -1 1 + 34 45 3.5 1 1 + 34 47 0.5 -1 1 + 34 49 4.5 1 1 + 35 38 0.5 -1 1 + 35 40 1.5 -1 1 + 35 42 1.5 -1 1 + 35 44 1.5 -1 1 + 35 46 1.5 -1 1 + 35 48 1.5 -1 1 + 35 50 1.5 -1 1 + 35 52 1.5 -1 1 + 36 37 1.5 -1 1 + 36 39 2.5 1 1 + 36 41 2.5 1 1 + 36 43 0.5 -1 1 + 36 45 3.5 1 1 + 36 47 4.5 1 1 + 36 49 4.5 1 1 + 36 51 2.5 1 1 + 36 57 0.5 1 1 + 37 40 1.5 -1 1 + 37 42 2.5 1 1 + 37 44 1.5 -1 1 + 37 46 2.5 -1 1 + 37 48 2.5 -1 1 + 37 50 1.5 -1 1 + 37 52 1.5 -1 1 + 37 56 2.5 -1 1 + 37 58 2.5 -1 1 + 37 60 1.5 1 1 + 38 39 2.5 1 1 + 38 43 0.5 -1 1 + 38 45 3.5 1 1 + 38 47 4.5 1 1 + 38 49 4.5 1 1 + 38 51 2.5 1 1 + 38 53 2.5 1 1 + 38 55 2.5 1 1 + 38 57 0.5 1 1 + 38 59 0.5 1 1 + 38 61 1.5 1 1 + 39 44 4.5 1 1 + 39 48 0.5 -1 1 + 39 50 0.5 -1 1 + 39 52 0.5 -1 1 + 39 54 0.5 -1 1 + 39 56 0.5 -1 1 + 40 45 3.5 1 1 + 40 49 4.5 1 1 + 40 51 2.5 1 1 + 40 53 2.5 1 1 + 40 55 2.5 1 1 + 40 57 0.5 1 1 + 40 59 0.5 1 1 + 40 61 1.5 1 1 + 41 50 4.5 1 1 + 41 52 4.5 1 1 + 41 54 4.5 1 1 + 41 56 4.5 1 1 + 41 58 4.5 1 1 + 42 49 4.5 1 1 + 42 51 2.5 1 1 + 42 53 2.5 1 1 + 42 55 2.5 1 1 + 42 57 0.5 1 1 + 42 59 0.5 1 1 + 43 50 4.5 1 1 + 43 52 4.5 1 1 + 43 54 4.5 1 1 + 43 56 4.5 1 1 + 43 58 4.5 1 1 + 43 60 2.5 1 1 + 44 51 2.5 1 1 + 44 53 2.5 1 1 + 44 55 2.5 1 1 + 44 57 2.5 1 1 + 44 59 1.5 1 1 + 44 61 1.5 1 1 + 45 52 4.5 1 1 + 45 56 0.5 -1 1 + 45 58 0.5 -1 1 + 45 60 3.5 1 1 + 45 62 3.5 1 1 + 45 64 3.5 1 1 + 46 55 2.5 1 1 + 46 57 2.5 1 1 + 46 59 2.5 1 1 + 46 61 2.5 1 1 + 46 63 2.5 1 1 + 46 65 2.5 1 1 + 47 54 4.5 1 1 + 47 56 3.5 1 1 + 47 58 0.5 -1 1 + 47 60 0.5 -1 1 + 47 62 0.5 -1 1 + 47 64 0.5 -1 1 + 47 66 0.5 -1 1 + 47 68 0.5 -1 1 + 48 55 2.5 1 1 + 48 57 2.5 1 1 + 48 59 2.5 1 1 + 48 61 2.5 1 1 + 48 63 0.5 1 1 + 48 65 0.5 1 1 + 48 67 0.5 1 1 + 48 69 0.5 1 1 + 49 56 4.5 1 1 + 49 58 4.5 1 1 + 49 60 4.5 1 1 + 49 62 4.5 1 1 + 49 64 4.5 1 1 + 49 66 4.5 1 1 + 49 68 4.5 1 1 + 49 70 4.5 1 1 + 49 72 4.5 1 1 + 49 74 4.5 1 1 + 49 76 4.5 1 1 + 50 61 3.5 1 1 + 50 63 0.5 1 1 + 50 65 0.5 1 1 + 50 67 0.5 1 1 + 50 69 0.5 1 1 + 50 71 1.5 1 1 + 50 73 5.5 -1 1 + 50 75 5.5 -1 1 + 51 62 2.5 1 1 + 51 64 2.5 1 1 + 51 66 2.5 1 1 + 51 68 2.5 1 1 + 51 70 2.5 1 1 + 51 72 3.5 1 1 + 51 74 3.5 1 1 + 51 76 3.5 1 1 + 51 78 3.5 1 1 + 52 63 3.5 1 1 + 52 65 0.5 1 1 + 52 67 0.5 1 1 + 52 69 0.5 1 1 + 52 71 0.5 1 1 + 52 73 0.5 1 1 + 52 75 1.5 1 1 + 52 77 1.5 1 1 + 52 79 1.5 1 1 + 53 66 2.5 1 1 + 53 68 2.5 1 1 + 53 70 2.5 1 1 + 53 72 2.5 1 1 + 53 74 2.5 1 1 + 53 76 3.5 1 1 + 53 78 3.5 1 1 + 53 80 3.5 1 1 + 53 82 3.5 1 1 + 54 69 0.5 1 1 + 54 73 0.5 1 1 + 54 75 0.5 1 1 + 54 77 1.5 1 1 + 54 79 1.5 1 1 + 54 81 1.5 1 1 + 54 83 3.5 -1 1 + 54 85 1.5 -1 1 + 54 89 2.5 -1 0 + 55 64 4.5 1 1 + 55 68 0.5 1 1 + 55 72 0.5 1 1 + 55 74 0.5 1 1 + 55 76 2.5 1 1 + 55 78 3.5 1 1 + 55 80 3.5 1 1 + 55 82 3.5 1 1 + 55 84 3.5 1 1 + 55 86 3.5 1 1 + 55 88 1.5 1 1 + 55 90 1.5 1 1 + 56 67 2.5 1 1 + 56 71 0.5 1 1 + 56 73 0.5 1 1 + 56 75 0.5 1 1 + 56 77 0.5 1 1 + 56 79 1.5 1 1 + 56 81 1.5 1 1 + 56 85 1.5 -1 1 + 56 87 2.5 -1 1 + 56 89 2.5 -1 1 + 57 72 1.5 1 1 + 57 74 1.5 1 1 + 57 76 2.5 1 1 + 57 78 2.5 1 1 + 57 80 3.5 1 1 + 57 82 3.5 1 1 + 58 75 0.5 1 1 + 58 79 1.5 1 1 + 58 81 1.5 1 1 + 58 83 3.5 -1 1 + 58 85 1.5 -1 1 + 59 78 2.5 1 1 + 59 80 2.5 1 1 + 59 82 2.5 1 1 + 59 84 3.5 1 1 + 59 86 3.5 1 1 + 60 77 0.5 1 1 + 60 79 1.5 1 1 + 60 81 1.5 1 1 + 60 83 3.5 -1 1 + 60 85 3.5 -1 1 + 60 87 2.5 -1 1 + 60 89 2.5 -1 1 + 60 91 1.5 1 1 + 61 80 2.5 1 1 + 61 82 2.5 1 1 + 61 84 2.5 1 1 + 61 86 3.5 1 1 + 61 88 3.5 1 1 + 61 90 2.5 1 1 + 61 92 2.5 -1 1 + 62 77 0.5 1 1 + 62 79 0.5 1 1 + 62 81 1.5 1 1 + 62 83 3.5 -1 1 + 62 85 3.5 -1 1 + 62 87 3.5 -1 1 + 62 89 2.5 -1 1 + 62 91 1.5 1 1 + 62 93 1.5 -1 1 + 62 97 2.5 -1 1 + 63 68 1.5 1 0 + 63 78 2.5 1 1 + 63 80 2.5 1 1 + 63 82 2.5 1 1 + 63 84 2.5 1 1 + 63 86 2.5 1 1 + 63 88 2.5 1 1 + 63 90 2.5 1 1 + 63 92 2.5 1 1 + 63 94 2.5 1 1 + 63 96 2.5 1 1 + 64 71 1.5 -1 0 + 64 81 0.5 1 1 + 64 83 3.5 -1 1 + 64 85 3.5 -1 1 + 64 87 3.5 -1 1 + 64 89 1.5 -1 1 + 64 91 1.5 -1 1 + 64 93 1.5 -1 1 + 64 95 1.5 -1 1 + 64 97 2.5 -1 1 + 65 84 0.5 1 1 + 65 88 2.5 1 1 + 65 90 1.5 1 1 + 65 92 1.5 1 1 + 65 94 1.5 1 1 + 65 96 1.5 1 1 + 65 98 1.5 1 1 + 66 81 0.5 1 1 + 66 89 1.5 -1 1 + 66 91 1.5 -1 1 + 66 93 1.5 -1 1 + 66 95 2.5 1 1 + 66 97 2.5 -1 1 + 66 99 3.5 1 1 + 67 86 5.5 -1 1 + 67 88 2.5 1 1 + 67 90 3.5 -1 1 + 67 92 3.5 -1 1 + 67 94 3.5 -1 1 + 67 96 3.5 -1 1 + 67 98 3.5 -1 1 + 67 100 3.5 -1 1 + 67 102 3.5 -1 1 + 68 87 3.5 -1 1 + 68 89 1.5 -1 1 + 68 91 1.5 -1 1 + 68 93 1.5 -1 1 + 68 95 2.5 -1 1 + 68 97 2.5 -1 1 + 68 99 3.5 1 1 + 68 101 0.5 -1 1 + 68 103 2.5 -1 1 + 69 78 5.5 -1 0 + 69 88 0.5 1 1 + 69 90 2.5 1 1 + 69 92 3.5 1 1 + 69 94 0.5 1 1 + 69 96 0.5 1 1 + 69 98 0.5 1 1 + 69 100 0.5 1 1 + 69 102 0.5 1 1 + 69 106 0.5 1 1 + 70 87 3.5 -1 1 + 70 91 1.5 -1 1 + 70 93 1.5 -1 1 + 70 95 2.5 -1 1 + 70 97 2.5 -1 1 + 70 99 3.5 1 1 + 70 101 0.5 -1 1 + 70 103 2.5 -1 1 + 70 105 3.5 -1 1 + 71 82 5.5 -1 1 + 71 90 0.5 1 1 + 71 94 0.5 1 1 + 71 96 3.5 1 1 + 71 98 3.5 1 1 + 71 100 3.5 1 1 + 71 102 3.5 1 1 + 71 104 3.5 1 1 + 71 106 3.5 1 1 + 72 85 3.5 -1 0 + 72 101 0.5 -1 1 + 72 103 2.5 -1 1 + 72 105 3.5 -1 1 + 72 107 4.5 1 1 + 72 109 0.5 -1 1 + 73 84 0.5 1 1 + 73 100 2.5 -1 1 + 73 102 3.5 1 1 + 73 104 3.5 1 1 + 73 106 3.5 1 1 + 73 108 3.5 1 1 + 73 110 3.5 1 1 + 74 99 2.5 -1 1 + 74 103 0.5 -1 1 + 74 107 4.5 1 1 + 74 109 0.5 -1 1 + 74 111 1.5 -1 1 + 74 113 1.5 -1 1 + 75 86 0.5 1 1 + 75 102 2.5 -1 1 + 75 106 2.5 1 1 + 75 108 2.5 1 1 + 75 110 2.5 1 1 + 75 112 2.5 1 1 + 75 114 2.5 1 1 + 76 101 0.5 -1 1 + 76 105 0.5 -1 1 + 76 107 4.5 1 1 + 76 109 0.5 -1 1 + 76 111 0.5 -1 1 + 76 113 1.5 -1 1 + 76 115 4.5 -1 1 + 76 117 1.5 -1 1 + 77 90 0.5 1 1 + 77 100 2.5 -1 1 + 77 106 2.5 -1 1 + 77 108 2.5 -1 1 + 77 110 1.5 1 1 + 77 112 1.5 1 1 + 77 114 1.5 1 1 + 77 116 1.5 1 1 + 77 118 1.5 1 1 + 77 120 1.5 1 1 + 78 99 2.5 -1 1 + 78 101 0.5 -1 1 + 78 103 0.5 -1 1 + 78 105 0.5 -1 1 + 78 109 1.5 -1 1 + 78 111 1.5 -1 1 + 78 113 1.5 -1 1 + 78 115 0.5 -1 1 + 78 117 0.5 -1 1 + 78 119 0.5 -1 1 + 78 121 2.5 -1 1 + 79 104 2.5 -1 1 + 79 106 2.5 -1 1 + 79 108 0.5 1 1 + 79 110 0.5 1 1 + 79 112 1.5 1 1 + 79 114 1.5 1 1 + 79 116 1.5 1 1 + 79 118 1.5 1 1 + 79 120 1.5 1 1 + 79 122 1.5 1 1 + 79 124 1.5 1 1 + 79 126 1.5 1 0 + 80 103 0.5 -1 1 + 80 105 0.5 -1 1 + 80 107 1.5 -1 1 + 80 109 1.5 -1 1 + 80 113 1.5 -1 1 + 80 115 0.5 -1 1 + 80 117 0.5 -1 1 + 80 119 0.5 -1 1 + 80 121 1.5 -1 1 + 80 123 2.5 -1 1 + 80 125 0.5 -1 1 + 81 114 0.5 1 1 + 81 116 0.5 1 1 + 81 118 0.5 1 1 + 81 120 0.5 1 1 + 81 122 0.5 1 1 + 81 124 0.5 1 1 + 81 126 0.5 1 1 + 82 103 1.5 -1 1 + 82 115 1.5 -1 1 + 82 117 1.5 -1 1 + 82 119 2.5 -1 1 + 82 121 2.5 -1 1 + 82 123 2.5 -1 1 + 82 125 0.5 -1 1 + 82 127 4.5 1 1 + 82 129 4.5 1 1 + 83 116 4.5 -1 1 + 83 118 4.5 -1 1 + 83 120 4.5 -1 1 + 83 122 4.5 -1 1 + 83 124 4.5 -1 1 + 83 126 4.5 -1 1 + 83 128 4.5 -1 1 + 83 130 4.5 -1 1 + 84 117 1.5 -1 1 + 84 119 2.5 -1 1 + 84 121 2.5 -1 1 + 84 123 2.5 -1 1 + 84 125 0.5 -1 1 + 84 127 4.5 1 1 + 84 129 4.5 1 1 + 84 131 4.5 1 1 + 85 118 4.5 -1 1 + 85 120 4.5 -1 1 + 85 122 4.5 -1 1 + 85 124 4.5 -1 1 + 85 126 4.5 -1 1 + 85 128 4.5 -1 1 + 85 130 4.5 -1 1 + 85 132 4.5 -1 1 + 86 119 2.5 -1 1 + 86 121 2.5 -1 1 + 86 123 2.5 -1 1 + 86 125 0.5 -1 1 + 86 129 4.5 1 1 + 86 131 4.5 1 1 + 86 133 2.5 1 1 + 86 139 3.5 -1 0 + 87 120 4.5 -1 1 + 87 122 4.5 -1 1 + 87 124 4.5 -1 1 + 87 126 4.5 -1 1 + 87 128 4.5 -1 1 + 87 130 4.5 -1 1 + 87 132 4.5 -1 1 + 87 134 2.5 -1 1 + 87 138 1.5 -1 1 + 87 140 0.5 1 1 + 88 121 2.5 -1 1 + 88 125 0.5 -1 1 + 88 133 2.5 1 1 + 88 135 1.5 1 1 + 88 137 0.5 1 1 + 88 139 1.5 1 1 + 89 126 4.5 -1 1 + 89 128 4.5 -1 1 + 89 130 4.5 -1 1 + 89 138 1.5 -1 1 + 90 137 0.5 1 1 + 90 139 2.5 1 1 + 90 141 2.5 1 1 + 90 143 0.5 1 1 + 91 128 4.5 -1 1 + 91 130 4.5 -1 1 + 91 140 1.5 -1 1 + 91 142 1.5 -1 1 + 92 141 2.5 1 1 + 92 143 3.5 -1 1 + 92 145 0.5 1 1 + 92 147 2.5 1 1 + 93 142 2.5 1 1 + 93 144 2.5 1 1 + 93 146 2.5 1 1 + 94 143 3.5 -1 1 + 94 145 0.5 1 1 + 94 147 2.5 1 1 + 94 149 3.5 1 1 + 95 146 2.5 -1 1 + 95 148 2.5 -1 1 + 96 145 0.5 1 1 + 96 147 2.5 1 1 + 96 149 3.5 1 1 + 96 151 4.5 -1 1 + 97 148 1.5 -1 1 + 97 152 3.5 1 1 + 98 151 4.5 -1 1 + 98 153 0.5 1 1 + 99 150 3.5 1 0 + 99 154 3.5 1 1 + 100 155 3.5 1 1 +QPSHELEM ! Z N Num. E [MeV] Nilsson Spin Parity + 4 + 96 149 3 0.00000 [624] 3.5 1 + 0.25280 [622] 2.5 1 + 0.38820 [734] 4.5 -1 + 97 152 4 0.00000 [633] 3.5 1 + 0.00800 [521] 1.5 -1 + 0.37760 [400] 0.5 1 + 0.38920 [642] 2.5 1 + 98 153 4 0.00000 [620] 0.5 1 + 0.10630 [613] 3.5 1 + 0.17760 [622] 1.5 1 + 0.37050 [725] 5.5 -1 + 99 154 3 0.00000 [633] 3.5 1 + 0.10600 [521] 1.5 -1 + 0.37100 [514] 3.5 -1 +2+ENERGY ! Z N E [MeV] dE [MeV] BE2(e2b2) dBE2 (e2b2) + 24 + 20 18 2.20600 0.00500 0.00960 0.00210 + 20 20 3.90438 0.00003 0.00990 0.00170 + 20 22 1.52473 0.00003 0.04200 0.00300 + 20 24 1.15705 0.00002 0.04700 0.00200 + 20 26 1.34600 0.00030 0.01820 0.00130 + 20 28 3.83172 0.00006 0.00950 0.00320 + 28 28 2.70060 0.00070 0.06000 0.01200 + 28 30 1.45400 0.00010 0.06950 0.00200 + 28 32 1.33252 0.00001 0.09330 0.00150 + 28 34 1.17291 0.00009 0.08900 0.00250 + 28 36 1.34575 0.00005 0.07600 0.00800 + 28 38 1.42510 0.00030 0.06200 0.00900 + 28 40 2.03320 0.00020 0.02600 0.00600 + 50 62 1.25685 0.00007 0.24000 0.01400 + 50 64 1.29992 0.00007 0.24000 0.05000 + 50 66 1.29356 0.00001 0.20900 0.00600 + 50 68 1.22967 0.00002 0.20900 0.00800 + 50 70 1.17134 0.00019 0.20200 0.00400 + 50 72 1.14055 0.00003 0.19200 0.00400 + 50 74 1.13174 0.00002 0.16600 0.00400 + 82 122 0.89917 0.00002 0.16200 0.00400 + 82 124 0.80310 0.00005 0.10000 0.00200 + 82 126 4.08540 0.00030 0.30000 0.03000 + 82 128 0.79970 0.00010 0.05100 0.01500 +DELTAVPN ! Z N Mass Exc.(keV) Err.(keV) BE/A (keV) Error (%) dVpn (keV) Err. (keV) + 144 + 22 20 -25122.0 5.0 8529.65 0.13 871.1825 40.0400 + 22 22 -37548.5 0.7 8533.52 0.02 2181.4250 1.2650 + 22 24 -44123.4 0.8 8656.36 0.02 913.3675 0.2900 + 22 26 -48487.7 0.8 8722.90 0.02 674.4250 0.6475 + 22 28 -51426.7 0.8 8755.62 0.02 465.0250 1.1875 + 22 30 -49465.0 7.0 8691.57 0.14 670.3250 3.0275 + 22 32 -45590.0 120.0 8596.90 2.30 796.5000 177.5700 + 36 38 -62331.5 2.0 8533.03 0.03 636.6250 15.4350 + 36 40 -69014.0 4.0 8608.81 0.05 590.9500 3.2300 + 36 42 -74179.7 1.1 8661.26 0.01 531.5750 1.1975 + 36 44 -77892.5 1.5 8692.92 0.02 484.7000 0.7600 + 36 46 -80589.5 1.8 8710.65 0.02 490.8000 0.8800 + 36 48 -82431.0 2.8 8717.35 0.03 501.8500 1.0925 + 36 50 -83265.0 0.1 8712.03 0.00 619.1425 3.8475 + 36 52 -79692.0 13.0 8656.86 0.15 459.3575 6.7875 + 38 40 -63174.0 7.0 8500.10 0.10 562.8750 10.2125 + 38 42 -70308.0 7.0 8578.56 0.08 492.0750 2.6825 + 38 44 -76008.0 6.0 8635.70 0.07 496.8000 2.3525 + 38 46 -80644.0 3.0 8677.44 0.04 484.7500 1.7775 + 38 48 -84523.6 1.1 8708.46 0.01 509.5250 1.1525 + 38 50 -87921.7 1.1 8732.60 0.01 640.8825 0.8000 + 38 52 -85941.6 2.9 8695.90 0.03 398.3675 3.3425 + 38 54 -82868.0 3.0 8648.91 0.04 412.1000 5.8500 + 38 56 -78840.0 7.0 8593.78 0.08 539.2500 5.9250 + 40 48 -83623.0 10.0 8665.97 0.12 485.8500 7.9450 + 40 50 -88767.3 2.4 8709.91 0.03 436.5500 2.6000 + 40 52 -88453.9 2.3 8692.62 0.03 416.6750 1.1375 + 40 54 -87266.8 2.4 8666.77 0.03 471.6250 1.3325 + 40 56 -85442.8 2.8 8635.37 0.03 551.0000 2.1150 + 40 58 -81287.0 20.0 8581.45 0.20 436.3000 8.6100 + 40 60 -76600.0 40.0 8524.40 0.40 401.5000 14.5875 + 40 62 -71740.0 50.0 8467.90 0.50 391.5000 36.8075 + 42 48 -80167.0 6.0 8596.97 0.07 411.0000 9.4725 + 42 50 -86805.0 4.0 8657.69 0.04 373.4250 3.1400 + 42 52 -88409.7 1.9 8662.29 0.02 479.5250 1.3850 + 42 54 -88790.5 1.9 8653.94 0.02 391.9750 1.0675 + 42 56 -88111.7 1.9 8635.12 0.02 286.3000 1.1400 + 42 58 -86184.0 6.0 8604.57 0.06 557.0250 5.2875 + 42 60 -83557.0 21.0 8568.37 0.20 515.0000 12.4425 + 42 62 -80330.0 50.0 8257.80 0.50 408.2500 20.9775 + 48 52 -74250.0 100.0 8438.30 1.00 387.5000 49.5875 + 48 54 -79678.0 29.0 8484.31 0.28 375.5000 26.6950 + 48 56 -83975.0 9.0 8517.68 0.09 399.4750 8.1075 + 48 58 -87132.0 6.0 8539.05 0.06 423.0250 2.9800 + 48 60 -89252.0 6.0 8550.02 0.05 402.0000 2.5500 + 48 62 -90353.0 2.7 8551.32 0.02 369.7500 2.0650 + 48 64 -90580.5 2.7 8544.78 0.02 350.6250 3.0050 + 48 66 -90020.9 2.7 8531.56 0.02 363.3500 5.3600 + 48 68 -88719.0 3.0 8512.41 0.03 384.2750 7.5675 + 48 70 -86709.0 20.0 8487.89 0.17 381.7500 16.9275 + 48 72 -83974.0 19.0 8458.16 0.16 438.7500 55.0350 + 48 74 -80730.0 40.0 8425.20 0.40 519.0000 61.4725 + 62 76 -71498.0 12.0 8237.93 0.09 283.5000 6.0000 + 62 78 -75456.0 12.0 8263.82 0.09 284.7500 6.0000 + 62 80 -78993.0 6.0 8286.02 0.04 325.7500 8.3225 + 62 82 -81972.0 2.8 8303.72 0.02 318.9500 7.2150 + 62 84 -81002.0 4.0 8293.90 0.03 308.0000 1.4675 + 62 86 -79342.2 2.4 8279.67 0.02 290.5750 1.4225 + 62 88 -77057.3 2.4 8261.66 0.02 308.2000 1.2400 + 62 90 -74768.8 2.5 8244.10 0.02 358.7250 1.3425 + 62 92 -72461.6 2.5 8226.88 0.02 306.2000 6.3575 + 62 94 -69370.0 10.0 8205.07 0.06 344.1000 28.3200 + 62 96 -65210.0 80.0 8177.10 0.50 250.0000 60.5175 + 64 78 -66960.0 28.0 8190.26 0.20 305.0000 10.7700 + 64 80 -71760.0 28.0 8221.94 0.19 315.7500 10.4525 + 64 82 -76093.0 5.0 8249.56 0.03 388.5000 7.3000 + 64 84 -76275.8 2.8 8248.38 0.02 288.2000 1.7475 + 64 86 -75769.0 6.0 8242.64 0.04 288.2500 2.0250 + 64 88 -74714.2 2.5 8233.45 0.02 307.5250 1.8325 + 64 90 -73713.2 2.5 8224.84 0.02 321.8750 1.2375 + 64 92 -72542.2 2.5 8215.37 0.02 284.0500 1.2500 + 64 94 -70696.8 2.5 8201.86 0.02 311.5500 2.7250 + 64 96 -67948.6 2.6 8183.06 0.02 352.9500 20.1750 + 68 84 -60500.0 11.0 8119.35 0.07 302.2500 5.8950 + 68 86 -62612.0 5.0 8132.44 0.04 326.2500 3.5000 + 68 88 -64213.0 24.0 8141.91 0.16 331.7500 6.5675 + 68 90 -65304.0 25.0 8147.93 0.16 239.7500 8.9125 + 68 92 -66058.0 24.0 8151.69 0.15 218.0000 8.8700 + 68 94 -66343.0 3.0 8152.45 0.02 254.7250 6.1250 + 68 96 -65950.0 3.0 8149.06 0.02 274.5750 1.3800 + 68 98 -64931.6 2.5 8141.99 0.01 298.7750 1.3175 + 68 100 -62996.7 2.5 8129.63 0.01 362.0750 1.2625 + 68 102 -60114.6 2.8 8111.99 0.02 287.0000 35.0175 + 78 94 -21101.0 13.0 7839.21 0.07 214.5000 7.0500 + 78 96 -25319.0 12.0 7866.12 0.07 227.0000 6.4175 + 78 98 -28928.0 14.0 7888.96 0.08 212.7500 6.5475 + 78 100 -31998.0 11.0 7908.26 0.06 242.0000 8.7400 + 78 102 -34436.0 11.0 7923.61 0.06 247.5000 8.9525 + 78 104 -36169.0 16.0 7934.76 0.09 230.0000 8.0350 + 78 106 -37332.0 18.0 7942.56 0.10 228.2500 9.8100 + 78 108 -37864.0 22.0 7946.81 0.12 221.2250 8.9925 + 78 110 -37823.0 5.0 7947.91 0.03 303.9000 5.6600 + 78 112 -37323.0 6.0 7946.58 0.03 340.7750 2.0150 + 78 114 -36292.9 2.5 7942.51 0.01 350.0000 1.7050 + 78 116 -34763.1 0.9 7935.96 0.00 324.0000 1.0025 + 78 118 -32647.4 0.9 7926.54 0.00 333.0250 0.9735 + 78 120 -29908.0 3.0 7914.17 0.02 353.3250 10.0525 + 80 94 -6647.0 20.0 7749.82 0.11 190.5000 212.2000 + 80 96 -11779.0 14.0 7782.63 0.08 228.5000 30.1500 + 80 98 -16317.0 13.0 7811.37 0.07 232.2500 26.5500 + 80 100 -20245.0 14.0 7836.08 0.08 214.5000 26.1200 + 80 102 -23576.0 10.0 7856.97 0.05 223.2500 23.1900 + 80 104 -26349.0 10.0 7874.37 0.05 260.0000 24.0200 + 80 106 -28539.0 11.0 7888.26 0.06 256.7500 28.3000 + 80 108 -30202.0 12.0 7899.05 0.06 282.7500 32.7600 + 80 110 -31370.0 16.0 7907.02 0.08 302.2500 30.1500 + 80 112 -32011.0 16.0 7912.07 0.08 285.2500 23.9400 + 80 114 -32193.0 13.0 7914.64 0.06 303.0250 21.6200 + 80 116 -31826.7 2.9 7914.37 0.01 290.8750 13.5800 + 80 118 -30954.4 0.3 7911.55 0.00 310.8500 3.1800 + 80 120 -29504.1 0.4 7905.90 0.00 322.2750 3.1700 + 80 122 -27345.9 0.6 7896.85 0.00 286.7000 20.2400 + 82 98 -1939.0 21.0 7725.69 0.12 242.2500 9.2950 + 82 100 -6826.0 14.0 7756.34 0.08 239.7500 7.9125 + 82 102 -11045.0 14.0 7782.69 0.08 222.0000 6.5575 + 82 104 -14681.0 11.0 7805.34 0.06 215.7500 5.6850 + 82 106 -17815.0 11.0 7824.84 0.06 236.0000 5.3800 + 82 108 -20417.0 12.0 7841.13 0.06 234.7500 5.7550 + 82 110 -22556.0 13.0 7854.67 0.07 242.7500 6.6750 + 82 112 -24208.0 17.0 7865.42 0.09 252.7500 7.7850 + 82 114 -25361.0 14.0 7873.40 0.07 242.7500 7.5435 + 82 116 -26050.0 15.0 7878.88 0.07 263.8250 6.1150 + 82 118 -26243.0 11.0 7881.77 0.05 266.3250 4.7075 + 82 120 -25934.0 8.0 7882.12 0.04 285.3250 3.4025 + 82 122 -25109.7 1.2 7879.93 0.01 333.4750 2.0300 + 82 124 -23785.4 1.2 7875.36 0.01 332.8500 0.4550 + 82 126 -21748.5 1.2 7867.45 0.01 426.8250 5.0175 + 88 116 6054.0 15.0 7704.16 0.08 221.7500 16.4275 + 88 118 3565.0 18.0 7719.80 0.09 195.0000 8.2850 + 88 120 1714.0 15.0 7732.08 0.07 179.7500 7.9025 + 88 122 461.0 15.0 7741.28 0.07 180.2500 7.0525 + 88 124 -191.0 11.0 7747.47 0.05 175.5000 5.8525 + 88 126 101.0 9.0 7749.13 0.04 161.5000 4.2725 + 88 128 3291.0 9.0 7737.35 0.04 287.5000 3.9675 + 88 130 6651.0 11.0 7725.00 0.05 304.0000 4.5550 + 88 132 10273.0 9.0 7711.68 0.04 334.8750 4.0050 + 88 134 14321.0 5.0 7696.69 0.02 336.9750 2.7000 + 88 136 18827.2 2.2 7679.92 0.01 313.5000 1.5900 + 92 134 27329.0 13.0 7631.92 0.06 294.5000 8.1350 + 92 136 29225.0 15.0 7627.45 0.07 326.2500 5.8100 + 92 138 31615.0 5.0 7620.92 0.02 296.3000 4.1825 + 92 140 34610.7 2.2 7611.89 0.01 274.0250 1.5400 + 92 142 38146.6 1.8 7600.71 0.01 262.1000 0.9775 + 92 144 42446.3 1.8 7586.48 0.01 216.5000 1.1025 +TERMINAT ! Z N Imax(f7/2) Parity E*(f7/2) ImaxdE Parity dE Reference + 8 + 20 22 6.0 1 3.189 11.0 -1 5.108 Eur. Phys. J. A16 (2003) 309 + 20 24 8.0 1 5.088 13.0 -1 5.480 S. Lenzi, Private communication + 21 22 9.5 -1 3.124 13.5 1 5.709 Phys. Rev. C75, 054305 (2007); Phys. Rev. C75, 059904(E) (2007) + 21 23 11.0 1 3.567 15.0 -1 5.574 Eur. Phys. J. A25 1 (2005) + 21 24 11.5 -1 5.417 15.5 1 5.605 Acta Phys. Pol. B32 (2001) 747 + 22 23 13.5 -1 7.143 16.5 1 13.028 S. Lenzi, Private communication + 22 24 14.0 1 10.034 17.0 -1 15.549 S. Lenzi, Private communication + 23 24 15.5 -1 10.004 17.5 1 15.259 Nucl. Phys. A693 (2001) 517 +END_DATA ! diff --git a/nuc/ExpDatabase_Fortran77_v04.tar.gz b/nuc/ExpDatabase_Fortran77_v04.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..784164f85cbc4c63e632259bb29b09a4ad947632 Binary files /dev/null and b/nuc/ExpDatabase_Fortran77_v04.tar.gz differ diff --git a/nuc/Makefile_ifc b/nuc/Makefile_ifc new file mode 100644 index 0000000000000000000000000000000000000000..bea752980694aa0bf50d4b612f979bc9833d1e9e --- /dev/null +++ b/nuc/Makefile_ifc @@ -0,0 +1,14 @@ +FORTRAN=gfortran +#FLAGS=-r8 -C -w95 +FLAGS= + +all : main_f77 + +main04.o : main04.f + $(FORTRAN) $(FLAGS) -c $< + +main_f77 : main04.o + $(FORTRAN) $(FLAGS) -o $@ $^ + +clean : + -rm -f *.o *.mod *~ main diff --git a/nuc/input04.f b/nuc/input04.f new file mode 100644 index 0000000000000000000000000000000000000000..f10d39f494011d64ae26309c5bb84f0beb3d252b --- /dev/null +++ b/nuc/input04.f @@ -0,0 +1,782 @@ +C +C The subroutine reads the database, allocates a number of arrays +C that are passed through the interface of this module, and fills +C out these arrays +C +C Version 01: - Reads ATOMIC masses from Audi Wapstra. +C - The electronic binding energy is removed in this +C routine but is present in the data contained in the +C file DataSet01.dat. +C +C Version 02: - Reads NUCLEAR masses from a table that is a mix +C of Audi-Wapstra 2003 and new Jyvaskyla masses. +C The mass of a given nuclide is taken as the +C weighted average of the original Audi-Wapstra +C evaluation and the Jyvaskyla mass, see +C +C J.R. Taylor, An Introduction to Error Analysis +C 2nd Ed., University Science Books, 1997 +C +C - Electronic correction has been removed from the +C data contained in table DataSet02.dat. Also a bug +C relative to deltaVpn data has been fixed. +C +C Version 03: - Adds proton radius for spherical nuclei. +C - Adds experimental error in binding energy of +C spherical nuclei +C - Adds flags for deformed nuclei, delta^(3)_n and +C delta^(3)_p, and odd g.s.,which indicate if the +C corresponding masses have been measured (1) or +C evaluated (0). +C +C Version 04: - Adds rough estimate of axial deformation of SD states +C - Adds one nucleus in the list of SD states +C +C ------------------ +C +C Spherical nuclei: +C - IZsphe, INsphe: proton number Z and neutron number N +C - Bsphe: experimental binding energy +C - dBsphe: experimental error in binding energy +C - R0sphe: experimental diffraction radius +C - SIGsphe: experimental surface thickness +C - RMSspheCharge: experimental r.m.s charge radius +C - RMSspheProton: r.m.s proton radius computed from the charge radius +C +C Deformed nuclei: +C - IZdefo, INdefo: proton number Z and neutron number N +C - Bdefo: experimental binding energy +C - dBdefo: experimental error in binding energy +C - b2defo: beta_2 value of g.s. quadrupole deformation (SLY4 calculation) +C - IsOKdefo: status of binding energy: 1 = measured, 0 = evaluated +C +C Odd-even mass differences: +C - IZd3n, INd3n: proton number and neutron number related to the +C neutron odd-even mass difference +C - DELd3n, ERRd3n: delta3 (neutrons) and relative error +C - IsOKd3n: status of binding energy: 1 = measured, 0 = evaluated +C - IZd3p, INd3p: proton number and neutron number related to the +C proton odd-even mass difference +C - DELd3p, ERRd3p: delta3 (protons) and relative error +C - IsOKd3p: status of binding energy: 1 = measured, 0 = evaluated +C +C Super-deformed states and fission isomers: +C - IZsupd, INsupd: proton number Z and neutron number N +C - Bsupd: experimental binding energy +C - ESDsupd: energy of the SD bandhead or fission isomer +C - b2supd: rough estimate of the beta_2 value of the SD state +C +C Giant monopole resonance +C - IZmono, INmono: proton number Z and neutron number N +C - Emono: experimental energy +c +C Giant dipole resonance +C - IZdipo, INdipo: proton number Z and neutron number N +C - Emdipo: experimental energy +C +C Odd-mass nuclei: +C - IZodd, INodd: proton number Z and neutron number N +C - SPINodd: experimental g.s. spin +C - IPodd: experimental g.s. parity +C - IsOKodd: status of binding energy: 1 = measured, 0 = evaluated +C +C One quasi-particle state in Odd-mass superheavy nuclei: +C - IZqpSH, INqpSH: proton number Z and neutron number N +C - NQPqpSH: number of q.p. states +C - EqpSH: experimental excitation energy +C - LABqpSH: experimental Nilsson label +C - SPINqpSH: experimental spin +C - IPqpSH: experimental parity +C +C Position of the first 2+ state +C - IZtwop, INtwop: proton number Z and neutron number N +C - Etwop: experimental energy of the 2+ state +C - dEtwop: error bar on the energy +C - BE2twop: experimental BE2 +C - dBE2twop: error bar on the BE2 +C +C Delta Vpn +C - IZdvpn, INdvpn: proton number Z and neutron number N +C - ExcMASdvpn: Mass excess +C - ExcERRdvpn: Error on mass excess +C - BnucMASdvpn: binding energy per nucleon B/A +C - BnucERRdvpn: error (in %) on B/A +C - DelVPNdvpn: delta Vpn +C - DelERRdvpn: error on delta Vpn +C +C Terminating states: +C - IZterm, INterm: proton number Z and neutron number N +C - SPINterm, IP1term: spin Imax and parity for the f7/2 state +C - Eterm: energy of the f7/2 state +C - SpindETerm, IP2term: spin Imax and parity for the +C d3/2^(-1)*f7/2 state +C - dEterm: experimental energy difference between the two +C configurations +C +C IMPORTANT REMARK +C +C Experimental binding energies were extracted from Audi-Wapstra +C mass tables. BY DEFINITION, THEY DO INCLUDE A CONTRIBUTION FROM +C THE BINDING ENERGY OF THE ELECTRONS. To cancel out this effect +C and obtain the true NUCLEAR binding energy, a correction is added +C systematically, which goes (in MeV) as +C +C CorrELEC * Z^(2.39), CorrELEC = 1.433.10^(-5) +C +C + SUBROUTINE GetData() + PARAMETER + * (NDSPHE=80,NDDEFO=250,NDSUPD=20,NDMONO=3,NDDIPO=3) + PARAMETER + * (NDTWOP=600,NDTERM=20,ND_ODD=650,NDDVPN=150) + PARAMETER + * (NDQPSH=5,NDSHEL=5,ND_D3N=250,ND_D3P=250) + CHARACTER + * Keyword*8,LABqpSH*5 +C + COMMON + * /NUCLEI_SPHERI/ IZsphe(1:NDSPHE),INsphe(1:NDSPHE), + * IsOKsphe(1:NDSPHE) + * /NUCLEI_DEFORM/ IZdefo(1:NDDEFO),INdefo(1:NDDEFO), + * IsOKdefo(1:NDDEFO) + * /NUCLEI_DELT3N/ IZd3n (1:ND_D3N),INd3n (1:ND_D3N), + * IsOKd3n(1:ND_D3N) + * /NUCLEI_DELT3P/ IZd3p (1:ND_D3P),INd3p (1:ND_D3P), + * IsOKd3p(1:ND_D3P) + * /NUCLEI_SDSTAT/ IZsupd(1:NDSUPD),INsupd(1:NDSUPD) + * /NUCLEI_MONOPO/ IZmono(1:NDMONO),INmono(1:NDMONO) + * /NUCLEI_DIPOLE/ IZdipo(1:NDDIPO),INdipo(1:NDDIPO) + * /NUCLEI_ODDNUC/ IZodd (1:ND_ODD),INodd (1:ND_ODD), + * IsOKodd(1:ND_ODD) + * /NUCLEI_SHELEM/ IZqpSH(1:NDSHEL),INqpSH(1:NDSHEL) + * /NUCLEI_TWOPLU/ IZtwop(1:NDTWOP),INtwop(1:NDTWOP) + * /NUCLEI_TERMIN/ IZterm(1:NDTERM),INterm(1:NDTERM) + * /NUCLEI_DELTPN/ IZdvpn(1:NDDVPN),INdvpn(1:NDDVPN) + COMMON + * /DATABA_SIZVEC/ NUMsphe, NUModd, NUMdefo, + * NUMd3n, NUMd3p, NUMsupd, + * NUMmono, NUMdipo, NUMtwop, + * NUMdvpn, NUMterm, NUMqpSH + COMMON + * /DATABA_SPHERI/ Bsphe(1:NDSPHE),dBsphe(1:NDSPHE), + * R0sphe(1:NDSPHE),SIGsphe(1:NDSPHE), + * RMSspheCharge(1:NDSPHE), + * RMSspheProton(1:NDSPHE) + COMMON + * /DATABA_DEFORM/ Bdefo(1:NDDEFO),dBdefo(1:NDDEFO), + * b2defo(1:NDDEFO) + COMMON + * /DATABA_DELT3N/ DELd3n(1:ND_D3N),ERRd3n(1:ND_D3N) + * /DATABA_DELT3P/ DELd3p(1:ND_D3P),ERRd3p(1:ND_D3P) + COMMON + * /DATABA_SDSTAT/ Bsupd(1:NDSUPD),ESDsupd(1:NDSUPD), + * b2supd(1:NDSUPD) + COMMON + * /DATABA_MONOPO/ Emono(1:NDMONO),dEmono(1:NDMONO) + COMMON + * /DATABA_DIPOLE/ Edipo(1:NDDIPO) + COMMON + * /DATABA_ODDSPI/ SPINodd(1:ND_ODD) + * /DATABA_ODDPAR/ IPodd(1:ND_ODD) + COMMON + * /DATABA_QPNUMB/ NQPqpSH(1:NDSHEL) + * /DATABA_QPEEXC/ EqpSH(1:NDSHEL,1:NDQPSH) + * /DATABA_QPSPIN/ SPINqpSH(1:NDSHEL,1:NDQPSH) + * /DATABA_QPPARI/ IPqpSH(1:NDSHEL,1:NDQPSH) + * /DATABA_QPLABL/ LABqpSH(1:NDSHEL,1:NDQPSH) + COMMON + * /DATABA_TWOPLU/ Etwop(1:NDTWOP),dEtwop(1:NDTWOP), + * BE2twop(1:NDTWOP),dBE2twop(1:NDTWOP) + COMMON + * /DATABA_DELTPN/ ExcMASdvpn(1:NDDVPN), + * ExcERRdvpn(1:NDDVPN), + * BnucMASdvpn(1:NDDVPN), + * BnucERRdvpn(1:NDDVPN), + * DelVPNdvpn(1:NDDVPN), + * DelERRdvpn(1:NDDVPN) + COMMON + * /DATABA_TERMIN/ SPINterm(1:NDTERM),Eterm(1:NDTERM), + * SPINdEterm(1:NDTERM),dEterm(1:NDTERM) + * /PARITY_TERMIN/ IP1Term(1:NDTERM),IP2term(1:NDTERM) +C + n_unit = 15 +C + OPEN (n_unit, FILE='DataSet04.dat', ACTION='READ', IOSTAT=ierror) + IF (ierror .NE. 0) STOP 'Impossible to read: ./DataSet04.dat' +C + Keyword = 'XXXXXXXX' +C +C Scanning of the database proceeds by keywords +C + 1 CONTINUE +C + READ (n_unit,*) Keyword +C + IF (Keyword .EQ. 'END_DATA') THEN + CLOSE (n_unit) + RETURN + END IF +C + IF (Keyword .EQ. 'SPHERICA') THEN +C + READ (n_unit,*) NUMsphe +C + DO i=1, NUMsphe + READ (n_unit,*) IZsphe(i),INsphe(i),Bsphe(i), + * dBsphe(i),R0sphe(i),SIGsphe(i), + * RMSspheCharge(i),RMSspheProton(i) + END DO +C + END IF +C + IF (Keyword .EQ. 'DEFORMED') THEN +C + READ (n_unit,*) NUMdefo +C + DO i=1, NUMdefo + READ (n_unit,*) IZdefo(i),INdefo(i),Bdefo(i), + * dBdefo(i),b2defo(i),IsOKdefo(i) + END DO +C + END IF +C + IF (Keyword .EQ. 'DELTA3_N') THEN +C + READ (n_unit,*) NUMd3n +C + DO i=1, NUMd3n + READ (n_unit,*) IZd3n(i),INd3n(i),DELd3n(i),ERRd3n(i), + * IsOKd3n(i) + END DO +C + END IF +C + IF (Keyword .EQ. 'DELTA3_P') THEN +C + READ (n_unit,*) NUMd3p +C + DO i=1, NUMd3p + READ (n_unit,*) INd3p(i),IZd3p(i),DELd3p(i),ERRd3p(i), + * IsOKd3p(i) + END DO +C + END IF +C + IF (Keyword .EQ. 'SDSTATES') THEN +C + READ (n_unit,*) NUMsupd +C + DO i=1, NUMsupd + READ (n_unit,*) IZsupd(i),INsupd(i),Bsupd(i),ESDsupd(i), + * b2supd(i) + END DO +C + END IF +C + IF (Keyword .EQ. 'MONOPRES') THEN +C + READ (n_unit,*) NUMmono +C + DO i=1, NUMmono + READ (n_unit,*) IZmono(i),INmono(i),Emono(i),dEmono(i) + END DO +C + END IF +C + IF (Keyword .EQ. 'DIPOLRES') THEN +C + READ (n_unit,*) NUMdipo +C + DO i=1, NUMdipo + READ (n_unit,*) IZdipo(i),INdipo(i),Edipo(i) + END DO +C + END IF +C + IF (Keyword .EQ. 'ODDNUCLE') THEN +C + READ (n_unit,*) NUModd +C + DO i=1, NUModd + READ (n_unit,*) IZodd(i),INodd(i),SPINodd(i),IPodd(i), + * IsOKodd(i) + END DO +C + END IF +C + IF (Keyword .EQ. 'QPSHELEM') THEN +C + READ (n_unit,*) NUMqpSH +C + DO i=1, NUMqpSH + READ (n_unit,*) IZqpSH(i),INqpSH(i),NQPqpSH(i), + * EqpSH(i,1),LABqpSH(i,1), + * SPINqpSH(i,1),IPqpSH(i,1) + DO j=2,NQPqpSH(i) + READ (n_unit,*) EqpSH(i,j),LABqpSH(i,j), + * SPINqpSH(i,j),IPqpSH(i,j) + END DO + END DO +C + END IF +C + IF (Keyword .EQ. '2+ENERGY') THEN +C + READ (n_unit,*) NUMtwop +C + DO i=1, NUMtwop + READ (n_unit,*) IZtwop(i),INtwop(i),Etwop(i),dEtwop(i), + * BE2twop(i),dBE2twop(i) + END DO +C + END IF +C + IF (Keyword .EQ. 'DELTAVPN') THEN +C + READ (n_unit,*) NUMdvpn +C + DO i=1, NUMdvpn + READ (n_unit,*) IZdvpn(i),INdvpn(i), + * ExcMASdvpn(i), ExcERRdvpn(i), + * BnucMASdvpn(i), BnucERRdvpn(i), + * DelVPNdvpn(i), DelERRdvpn(i) + END DO +C + END IF +C + IF (Keyword .EQ. 'TERMINAT') THEN +C + READ (n_unit,*) NUMterm +C + DO i=1, NUMterm + READ (n_unit,*) IZterm(i),INterm(i),SPINterm(i), + * IP1term(i),Eterm(i),SpindETerm(i), + * IP2term(i),dEterm(i) + END DO +C + END IF +C + GO TO 1 +C + END + +C This subroutine only prints the data so that the user can verify +C that everything has been read properly. + + SUBROUTINE PrintData() + PARAMETER + * (NDSPHE=80,NDDEFO=250,NDSUPD=20,NDMONO=3,NDDIPO=3) + PARAMETER + * (NDTWOP=600,NDTERM=20,ND_ODD=650,NDDVPN=150) + PARAMETER + * (NDQPSH=5,NDSHEL=5,ND_D3N=250,ND_D3P=250) + PARAMETER + * (NDVALS=4000,NDPROT=140,NDNEUT=200) + CHARACTER + * Keyword*8,LABqpSH*5 +C + COMMON + * /WAPDAT/ BINDNG(0:NDPROT,0:NDNEUT), + * ERRORB(0:NDPROT,0:NDNEUT), + * IVALID(0:NDPROT,0:NDNEUT) + COMMON + * /OEMALL/ OEMVAL(1:NDPROT,1:NDNEUT,0:1) +C + COMMON + * /NUCLEI_SPHERI/ IZsphe(1:NDSPHE),INsphe(1:NDSPHE), + * IsOKsphe(1:NDSPHE) + * /NUCLEI_DEFORM/ IZdefo(1:NDDEFO),INdefo(1:NDDEFO), + * IsOKdefo(1:NDDEFO) + * /NUCLEI_DELT3N/ IZd3n (1:ND_D3N),INd3n (1:ND_D3N), + * IsOKd3n(1:ND_D3N) + * /NUCLEI_DELT3P/ IZd3p (1:ND_D3P),INd3p (1:ND_D3P), + * IsOKd3p(1:ND_D3P) + * /NUCLEI_SDSTAT/ IZsupd(1:NDSUPD),INsupd(1:NDSUPD), + * b2supd(1:NDSUPD) + * /NUCLEI_MONOPO/ IZmono(1:NDMONO),INmono(1:NDMONO) + * /NUCLEI_DIPOLE/ IZdipo(1:NDDIPO),INdipo(1:NDDIPO) + * /NUCLEI_ODDNUC/ IZodd (1:ND_ODD),INodd (1:ND_ODD), + * IsOKodd(1:ND_ODD) + * /NUCLEI_SHELEM/ IZqpSH(1:NDSHEL),INqpSH(1:NDSHEL) + * /NUCLEI_TWOPLU/ IZtwop(1:NDTWOP),INtwop(1:NDTWOP) + * /NUCLEI_DELTPN/ IZdvpn(1:NDDVPN),INdvpn(1:NDDVPN) + * /NUCLEI_TERMIN/ IZterm(1:NDTERM),INterm(1:NDTERM) +C + COMMON + * /DATABA_SIZVEC/ NUMsphe, NUModd, NUMdefo, + * NUMd3n, NUMd3p, NUMsupd, + * NUMmono, NUMdipo, NUMtwop, + * NUMdvpn, NUMterm, NUMqpSH + COMMON + * /DATABA_SPHERI/ Bsphe(1:NDSPHE),dBsphe(1:NDSPHE), + * R0sphe(1:NDSPHE),SIGsphe(1:NDSPHE), + * RMSspheCharge(1:NDSPHE), + * RMSspheProton(1:NDSPHE) + COMMON + * /DATABA_DEFORM/ Bdefo(1:NDDEFO),dBdefo(1:NDDEFO), + * b2defo(1:NDDEFO) + COMMON + * /DATABA_DELT3N/ DELd3n(1:ND_D3N),ERRd3n(1:ND_D3N) + * /DATABA_DELT3P/ DELd3p(1:ND_D3P),ERRd3p(1:ND_D3P) + COMMON + * /DATABA_SDSTAT/ Bsupd(1:NDSUPD),ESDsupd(1:NDSUPD), + * b2supd(1:NDSUPD) + COMMON + * /DATABA_MONOPO/ Emono(1:NDMONO),dEmono(1:NDMONO) + COMMON + * /DATABA_DIPOLE/ Edipo(1:NDDIPO) + COMMON + * /DATABA_ODDSPI/ SPINodd(1:ND_ODD) + * /DATABA_ODDPAR/ IPodd(1:ND_ODD) + COMMON + * /DATABA_QPNUMB/ NQPqpSH(1:NDSHEL) + * /DATABA_QPEEXC/ EqpSH(1:NDSHEL,1:NDQPSH) + * /DATABA_QPSPIN/ SPINqpSH(1:NDSHEL,1:NDQPSH) + * /DATABA_QPPARI/ IPqpSH(1:NDSHEL,1:NDQPSH) + * /DATABA_QPLABL/ LABqpSH(1:NDSHEL,1:NDQPSH) + COMMON + * /DATABA_TWOPLU/ Etwop(1:NDTWOP),dEtwop(1:NDTWOP), + * BE2twop(1:NDTWOP),dBE2twop(1:NDTWOP) + COMMON + * /DATABA_DELTPN/ ExcMASdvpn(1:NDDVPN), + * ExcERRdvpn(1:NDDVPN), + * BnucMASdvpn(1:NDDVPN), + * BnucERRdvpn(1:NDDVPN), + * DelVPNdvpn(1:NDDVPN), + * DelERRdvpn(1:NDDVPN) + COMMON + * /DATABA_TERMIN/ SPINterm(1:NDTERM),Eterm(1:NDTERM), + * SPINdEterm(1:NDTERM),dEterm(1:NDTERM) + * /PARITY_TERMIN/ IP1Term(1:NDTERM),IP2term(1:NDTERM) +C + Keyword = 'SPHERICA' + WRITE (6,'(A8)') Keyword + WRITE (6,'(9X,I5)') NUMsphe +C + DO i=1, NUMsphe + WRITE (6,'(9X,2I5,1X,6F11.5)') + * IZsphe(i),INsphe(i), + * Bsphe(i),dBsphe(i), + * R0sphe(i),SIGsphe(i), + * RMSspheCharge(i), + * RMSspheProton(i) + END DO +C + Keyword = 'DEFORMED' + WRITE (6,'(A8)') Keyword + WRITE (6,'(10X,I5)') NUMdefo +C + DO i=1, NUMdefo + WRITE (6,'(9X,2I5,F12.5,2F11.5,i4)') IZdefo(i),INdefo(i), + * Bdefo(i),dBdefo(i), + * b2defo(i),IsOKdefo(i) + END DO +C + Keyword = 'DELTA3_N' + WRITE (6,'(A8)') Keyword + WRITE (6,'(10X,I5)') NUMd3n +C + DO i=1, NUMd3n + WRITE (6,'(9X,2I5,2F12.6,i4)') IZd3n(i),INd3n(i), + * DELd3n(i),ERRd3n(i), + * IsOKd3n(i) + END DO +C + Keyword = 'DELTA3_P' + WRITE (6,'(A8)') Keyword + WRITE (6,'(10X,I5)') NUMd3p +C + DO i=1, NUMd3p + WRITE (6,'(9X,2I5,2F12.6,i4)') INd3p(i),IZd3p(i), + * DELd3p(i),ERRd3p(i), + * IsOKd3p(i) + END DO +C + Keyword = 'SDSTATES' + WRITE (6,'(A8)') Keyword + WRITE (6,'(9X,I5)') NUMsupd +C + DO i=1, NUMsupd + WRITE (6,'(9X,2I5,F12.5,2F9.3)') IZsupd(i),INsupd(i), + * Bsupd(i),ESDsupd(i), + * b2supd(i) + END DO +C + Keyword = 'MONOPRES' + WRITE (6,'(A8)') Keyword + WRITE (6,'(9X,I5)') NUMmono + + DO i=1, NUMmono + WRITE (6,'(9X,2I5,1X,F9.2,F10.2)') IZmono(i),INmono(i), + * Emono(i),dEmono(i) + END DO +C + Keyword = 'DIPOLRES' + WRITE (6,'(A8)') Keyword + WRITE (6,'(9X,I5)') NUMdipo +C + DO i=1, NUMdipo + WRITE (6,'(9X,2I5,1X,F9.2)') IZdipo(i),INdipo(i),Edipo(i) + END DO +C + Keyword = 'ODDNUCLE' + WRITE (6,'(A8)') Keyword + WRITE (6,'(9X,I5)') NUModd +C + DO i=1, NUModd + WRITE (6,'(9X,2I5,F6.1,I5,i4)') IZodd(i),INodd(i), + * SPINodd(i),IPodd(i), + * IsOKodd(i) + END DO +C + Keyword = 'QPSHELEM' + WRITE (6,'(A8)') Keyword + WRITE (6,'(9X,I5)') NUMqpSH +C + DO i=1, NUMqpSH + WRITE (6,'(9X,2I5,I4,F10.5,4X,A5,F8.1,5X,I2)') + * IZqpSH(i),INqpSH(i),NQPqpSH(i), + * EqpSH(i,1),LABqpSH(i,1), + * SPINqpSH(i,1),IPqpSH(i,1) + DO j=2,NQPqpSH(i) + WRITE (6,'(23X,F10.5,4X,A5,F8.1,5X,I2)') + * EqpSH(i,j),LABqpSH(i,j), + * SPINqpSH(i,j),IPqpSH(i,j) + END DO + END DO +C + Keyword = '2+ENERGY' + WRITE (6,'(A8)') Keyword + WRITE (6,'(9X,I5)') NUMtwop +C + DO i=1, NUMtwop + WRITE (6,'(9X,2I5,4F11.5)') IZtwop(i),INtwop(i),Etwop(i), + * dEtwop(i),BE2twop(i),dBE2twop(i) + END DO +C + Keyword = 'DELTAVPN' + WRITE (6,'(A8)') Keyword + WRITE (6,'(9X,I5)') NUMdvpn +C + DO i=1, NUMdvpn + WRITE (6,'(9X,2I5,F12.1,F10.1,F15.2,F10.2,F14.4,F12.4)') + * IZdvpn(i),INdvpn(i), + * ExcMASdvpn(i), ExcERRdvpn(i), + * BnucMASdvpn(i), BnucERRdvpn(i), + * DelVPNdvpn(i), DelERRdvpn(i) + END DO +C + Keyword = 'TERMINAT' + WRITE (6,'(A8)') Keyword + WRITE (6,'(9X,I5)') NUMterm +C + DO i=1, NUMterm + WRITE (6,'(9X,2I5,F9.1,I10,F12.3,F8.1,I8,F9.3)') + * IZterm(i),INterm(i),SPINterm(i),IP1term(i), + * Eterm(i),SpindETerm(i),IP2term(i),dEterm(i) + END DO +C + RETURN + END +C +C This subroutine only initializes all the common blocks +C + SUBROUTINE InitializeData() + PARAMETER + * (NDSPHE=80,NDDEFO=250,NDSUPD=20,NDMONO=3,NDDIPO=3) + PARAMETER + * (NDTWOP=600,NDTERM=20,ND_ODD=650,NDDVPN=150) + PARAMETER + * (NDQPSH=5,NDSHEL=5,ND_D3N=250,ND_D3P=250) +C + CHARACTER + * LABqpSH*5 +C + COMMON + * /NUCLEI_SPHERI/ IZsphe(1:NDSPHE),INsphe(1:NDSPHE), + * IsOKsphe(1:NDSPHE) + * /NUCLEI_DEFORM/ IZdefo(1:NDDEFO),INdefo(1:NDDEFO), + * IsOKdefo(1:NDDEFO) + * /NUCLEI_DELT3N/ IZd3n (1:ND_D3N),INd3n (1:ND_D3N), + * IsOKd3n(1:ND_D3N) + * /NUCLEI_DELT3P/ IZd3p (1:ND_D3P),INd3p (1:ND_D3P), + * IsOKd3p(1:ND_D3P) + * /NUCLEI_SDSTAT/ IZsupd(1:NDSUPD),INsupd(1:NDSUPD) + * /NUCLEI_MONOPO/ IZmono(1:NDMONO),INmono(1:NDMONO) + * /NUCLEI_DIPOLE/ IZdipo(1:NDDIPO),INdipo(1:NDDIPO) + * /NUCLEI_ODDNUC/ IZodd (1:ND_ODD),INodd (1:ND_ODD), + * IsOKodd(1:ND_ODD) + * /NUCLEI_SHELEM/ IZqpSH(1:NDSHEL),INqpSH(1:NDSHEL) + * /NUCLEI_TWOPLU/ IZtwop(1:NDTWOP),INtwop(1:NDTWOP) + * /NUCLEI_DELTPN/ IZdvpn(1:NDDVPN),INdvpn(1:NDDVPN) + * /NUCLEI_TERMIN/ IZterm(1:NDTERM),INterm(1:NDTERM) +C + COMMON + * /DATABA_SIZVEC/ NUMsphe, NUModd, NUMdefo, + * NUMd3n, NUMd3p, NUMsupd, + * NUMmono, NUMdipo, NUMtwop, + * NUMdvpn, NUMterm, NUMqpSH + COMMON + * /DATABA_SPHERI/ Bsphe(1:NDSPHE),dBsphe(1:NDSPHE), + * R0sphe(1:NDSPHE),SIGsphe(1:NDSPHE), + * RMSspheCharge(1:NDSPHE), + * RMSspheProton(1:NDSPHE) + COMMON + * /DATABA_DEFORM/ Bdefo(1:NDDEFO),dBdefo(1:NDDEFO), + * b2defo(1:NDDEFO) + COMMON + * /DATABA_DELT3N/ DELd3n(1:ND_D3N),ERRd3n(1:ND_D3N) + * /DATABA_DELT3P/ DELd3p(1:ND_D3P),ERRd3p(1:ND_D3P) + COMMON + * /DATABA_SDSTAT/ Bsupd(1:NDSUPD),ESDsupd(1:NDSUPD), + * b2supd(1:NDSUPD) + COMMON + * /DATABA_MONOPO/ Emono(1:NDMONO),dEmono(1:NDMONO) + COMMON + * /DATABA_DIPOLE/ Edipo(1:NDDIPO) + COMMON + * /DATABA_ODDSPI/ SPINodd(1:ND_ODD) + * /DATABA_ODDPAR/ IPodd(1:ND_ODD) + COMMON + * /DATABA_QPNUMB/ NQPqpSH(1:NDSHEL) + * /DATABA_QPEEXC/ EqpSH(1:NDSHEL,1:NDQPSH) + * /DATABA_QPSPIN/ SPINqpSH(1:NDSHEL,1:NDQPSH) + * /DATABA_QPPARI/ IPqpSH(1:NDSHEL,1:NDQPSH) + * /DATABA_QPLABL/ LABqpSH(1:NDSHEL,1:NDQPSH) + COMMON + * /DATABA_TWOPLU/ Etwop(1:NDTWOP),dEtwop(1:NDTWOP), + * BE2twop(1:NDTWOP),dBE2twop(1:NDTWOP) + COMMON + * /DATABA_DELTPN/ ExcMASdvpn(1:NDDVPN), + * ExcERRdvpn(1:NDDVPN), + * BnucMASdvpn(1:NDDVPN), + * BnucERRdvpn(1:NDDVPN), + * DelVPNdvpn(1:NDDVPN), + * DelERRdvpn(1:NDDVPN) + COMMON + * /DATABA_TERMIN/ SPINterm(1:NDTERM),Eterm(1:NDTERM), + * SPINdEterm(1:NDTERM),dEterm(1:NDTERM) + * /PARITY_TERMIN/ IP1Term(1:NDTERM),IP2term(1:NDTERM) +C + NUMsphe = 1 + NUModd = 1 + NUMdefo = 1 + NUMsupd = 1 + NUMmono = 1 + NUMdipo = 1 + NUMtwop = 1 + NUMdvpn = 1 + NUMterm = 1 + NUMqpSH = 1 +C + DO i=1,NDSPHE + IZsphe(i) = 82 + INsphe(i) = 126 + Bsphe(i) = 0.0 + dBsphe(i) = 0.0 + R0sphe(i) = 0.0 + SIGsphe(i) = 0.0 + RMSspheCharge(i) = 0.0 + RMSspheProton(i) = 0.0 + END DO +C + DO i=1,NDDEFO + IZdefo(i) = 82 + INdefo(i) = 126 + Bdefo(i) = 0.0 + dBdefo(i) = 0.0 + b2defo(i) = 0.0 + IsOKdefo(i) = 0 + END DO +C + DO i=1,ND_D3N + IZd3n(i) = 82 + INd3n(i) = 126 + DELd3n(i) = 0.0 + ERRd3n(i) = 0.0 + IsOKd3n(i) = 0 + END DO +C + DO i=1,ND_D3P + IZd3p(i) = 82 + INd3p(i) = 126 + DELd3p(i) = 0.0 + ERRd3p(i) = 0.0 + IsOKd3p(i) = 0 + END DO +C + DO i=1,NDSUPD + IZsupd(i) = 82 + INsupd(i) = 126 + Bsupd(i) = 0.0 + ESDsupd(i) = 0.0 + b2supd(i) = 0.7 + END DO +C + DO i=1,NDMONO + IZmono(i) = 82 + INmono(i) = 126 + Emono(i) = 0.0 + dEmono(i) = 0.0 + END DO +C + DO i=1,NDDIPO + IZdipo(i) = 82 + INdipo(i) = 126 + Edipo(i) = 0.0 + END DO +C + DO i=1,ND_ODD + IZodd(i) = 82 + INodd(i) = 126 + SPINodd(i) = 0.0 + IPodd(i) = 0 + IsOKodd(i) = 0 + END DO +C + DO i=1,NDSHEL + IZqpSH(i) = 82 + INqpSH(i) = 126 + NQPqpSH(i) = 1 + DO j=1,NDQPSH + EqpSH(i,j)=0.0 + SPINqpSH(i,j)=0.5 + IPqpSH(i,j)=+1 + LABqpSH(i,j)='XXXXX' + END DO + END DO +C + DO i=1,NDTWOP + IZtwop(i) = 82 + INtwop(i) = 126 + Etwop(i) = 0.0 + dEtwop(i) = 0.0 + BE2twop(i) = 0.0 + dBE2twop(i) = 0.0 + END DO +C + DO i=1,NDDVPN + IZdvpn(i) = 82 + INdvpn(i) = 126 + ExcMASdvpn(i) = 0.0 + ExcERRdvpn(i) = 0.0 + BnucMASdvpn(i) = 0.0 + BnucERRdvpn(i) = 0.0 + DelVPNdvpn(i) = 0.0 + DelERRdvpn(i) = 0.0 + END DO +C + DO i=1,NDTERM + IZterm(i) = 82 + INterm(i) = 126 + SPINterm(i) = 0.0 + Eterm(i) = 0.0 + SPINdEterm(i) = 0.0 + dEterm(i) = 0.0 + IP1term(i) = 0 + IP2term(i) = 0 + END DO +C + RETURN + END + diff --git a/nuc/main04.f b/nuc/main04.f new file mode 100644 index 0000000000000000000000000000000000000000..6acca5720d794d70856cbfe5bae6f876a7a59fea --- /dev/null +++ b/nuc/main04.f @@ -0,0 +1,20 @@ + PROGRAM main + COMMON + * /DATABA_SIZVEC/ NUMsphe, NUModd, NUMdefo, + * NUMd3n, NUMd3p, NUMsupd, + * NUMmono, NUMdipo, NUMtwop, + * NUMdvpn, NUMterm, NUMqpSH +C + CALL InitializeData() +C + CALL GetData() +C + CALL PrintData() +C + STOP +C + END +C + INCLUDE 'input04.f' + +