LayeredEarthEM mocked up and looking good.
authorT-bone <trevorirons@gmail.com>
Wed, 30 Aug 2017 02:34:51 +0000 (02:34 +0000)
committerT-bone <trevorirons@gmail.com>
Wed, 30 Aug 2017 02:34:51 +0000 (02:34 +0000)
include/LayeredEarthMR.h
src/LayeredEarthMR.cpp

index ab99e80..e176e74 100644 (file)
@@ -149,9 +149,10 @@ namespace Lemma {
         /** Initializes the model matrix */
         void InitModelMat();
 
-        VectorXr T2StarBins;
-        VectorXr T2StarBinEdges;  // Convenience for pcolor
-        MatrixXr ModelMat;
+        VectorXr Interfaces;      // Layer interfaces, for pcolor
+        VectorXr T2StarBins;      // the actual T2* values
+        VectorXr T2StarBinEdges;  // Convenience, for pcolor
+        MatrixXr ModelMat;        // The NMR model, in matrix form
 
     }; // -----  end of class  LayeredEarthMR  -----
 }  // -----  end of namespace Lemma ----
index 540d3d8..f348826 100644 (file)
@@ -45,7 +45,10 @@ namespace Lemma {
     // Description:  DeSerializing constructor (locked)
     //--------------------------------------------------------------------------------------
     LayeredEarthMR::LayeredEarthMR (const YAML::Node& node, const ctor_key&) : LayeredEarth(node) {
-
+        Interfaces = node["Interfaces"].as<VectorXr>();
+        T2StarBins = node["T2StarBins"].as<VectorXr>();
+        T2StarBinEdges = node["T2StarBinEdges"].as<VectorXr>();
+        ModelMat = node["ModelMat"].as<MatrixXr>();
     }  // -----  end of method LayeredEarthMR::LayeredEarthMR  (constructor)  -----
 
     //--------------------------------------------------------------------------------------
@@ -75,12 +78,10 @@ namespace Lemma {
         node.SetTag( GetName() );
         // FILL IN CLASS SPECIFICS HERE
         node["Merlin_VERSION"] = MERLIN_VERSION;
+        node["Interfaces"] = Interfaces;
         node["T2StarBins"] = T2StarBins;
         node["T2StarBinEdges"] = T2StarBinEdges;
         node["ModelMat"] = ModelMat;
-        node["Thingy"].push_back( "Hello" );
-        node["Thingy"].push_back( "Whirld" );
-
         return node;
     }          // -----  end of method LayeredEarthMR::Serialize  -----
 
@@ -112,6 +113,7 @@ namespace Lemma {
     void LayeredEarthMR::AlignWithKernel ( std::shared_ptr<KernelV0> Kern ) {
         int nlay = Kern->GetInterfaces().size()-1;
         SetNumberOfLayers( nlay );
+        Interfaces = Kern->GetInterfaces();
         LayerThickness = Kern->GetInterfaces().tail(nlay) - Kern->GetInterfaces().head(nlay) ;
         SetMagneticFieldComponents( Kern->GetSigmaModel()->GetMagneticField(), TESLA);
         return ;