Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

putputSlice


Code Block
languagecpp
titleIMAS C++ :: put
linenumberstrue
#include "UALClasses.h"
using namespace IdsNs;

int main(int argc, char *argv[])
{

    IDS::core_profiles ids;  // <= IDS object

    const char* treename = "ids";
    const char* database = "test";
    int shot = 13;
    int run = 22;
    char*  userName;
    char*  imasVersion;


    // Gets user name and data version
    userName = getenv("USER");
    imasVersion = getenv("IMAS_VERSION");

    //Create a new instance of database

    IdsNs::IDS imas(shot, run, -1, -1);

    imas.createEnv(userName, database, imasVersion);

    ids = imas._core_profiles;

    // Mandatory to define this property
    ids.ids_properties.homogeneous_time = IDS_TIME_MODE_HOMOGENEOUS;

    ids.ids_properties.comment = "IDS stored by put (CPP)";

    // allocate the CPOIDS structures - vector of size N
    ids.time.resize(10);
    ids.global_quantities.ip.resize(10);

    // Fill IDS time-independent fields
    ids.ids_properties.comment = "IDS stored by put (CPP)";

    // Fill IDS time-dependent fields
    for(int i=0; i < 10; i++)
    {
        // Do not forget time!!
        ids.time(i) = i;

        // Setting values of data
        ids.global_quantities.ip(i) = 2*i;
    }

    // Save data in the database
    ids.put();

    // Close the pulse file
    imas.close();
}



Code Block
languagecpp
titleIMAS C++ :: putSlice
linenumberstrue
#include "UALClasses.h"
using namespace IdsNs;
 
int main(int argc, char *argv[])
{
    IDS::core_profiles ids;  // <= IDS object

    const char* treename = "ids";
    const char* database = "test";
    int shot = 13;
    int run = 22;
    char*  userName;
    char*  imasVersion;


    // Gets user name and data version
    userName = getenv("USER");
    imasVersion = getenv("IMAS_VERSION");

    //Create a new instance of database
    IdsNs::IDS imas(shot, run, -1, -1);

    imas.createEnv(userName, database, imasVersion);
    ids = imas._core_profiles;

    // Fill IDS time-independent fields Mandatory to define this property
    ids.ids_properties.homogeneous_time = IDS_TIME_MODE_HOMOGENEOUS;

    ids.ids_properties.comment = "IDS stored by putSlice (CPP)";


     // allocate Fillthe IDS time-dependent fieldsstructures - vector of size 1
    ids.global_quantities.ip.resize(1);
    ids.time.resize(1);

    // Fill IDS time-dependent fields
    for(int i=0; i < 10; i++)
    {
        // Do not forget time!!
        ids.time(0) = i;

        // Setting values of data
        ids.global_quantities.ip(0) = 2*i;

        // Save data in the database
        if( i == 0)
            ids.put();
        else
            ids.putSlice();

    }

    // Close the pulse file
    imas.close();
}


...

getgetSlice


Code Block
languagecpp
titleIMAS C++ :: get
linenumberstrue
#include  <iostream>

#include "UALClasses.h"
using namespace IdsNs;

int main(int argc, char *argv[])
{
    IDS::core_profiles ids;  // <= IDS object

    const char* treename = "ids";
    const char* database = "test";
    int shot = 13;
    int run = 22;
    char*  userName;
    char*  imasVersion;


    // Gets user name and data version
    userName = getenv("USER");
    imasVersion = getenv("IMAS_VERSION");

    //Open database
    IdsNs::IDS imas(shot, run, -1, -1);
    imas.openEnv(userName, database, imasVersion);
    ids = imas._core_profiles;


    ids.get();

    cout << "Time: " << ids.time << endl;
    cout << "Value: " << ids.global_quantities.ip << endl;

    // Close the pulse file
    imas.close();
}



Code Block
languagecpp
titleIMAS C++ :: getSlice
linenumberstrue
#include  <iostream>

#include "UALClasses.h"
using namespace IdsNs;

int main(int argc, char *argv[])
{
    IDS::core_profiles ids;  // <= IDS object

    const char* treename = "ids";
    const char* database = "test";
    int shot = 13;
    int run = 22;
    char*  userName;
    char*  imasVersion;


    // Gets user name and data version
    userName = getenv("USER");
    imasVersion = getenv("IMAS_VERSION");

    //Open database
    IdsNs::IDS imas(shot, run, -1, -1);
    imas.openEnv(userName, database, imasVersion);
    ids = imas._core_profiles;

    //Get the slice corresponding to the passed time
    ids.getSlice(2.0, 2);

    cout << "Time: " << ids.time << endl;
    cout << "Value: " << ids.global_quantities.ip << endl;

    // Close the pulse file
    imas.close();
}


...