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[])
{
	int number = 10; //number of elements

	
    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(123shot, 1run, 123-1, -1);
    	imas.create(createEnv(userName, database, imasVersion);
	
   	IDS::core_profiles ids = imas._core_profiles;
	
	    // Mandatory to define this property
	    ids.ids_properties.homogeneous_time = 1; 
	
	IDS_TIME_MODE_HOMOGENEOUS;

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

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

	// Fill IDS time-independent fields
	ids.ids_properties.comment = "IDS created by C++ PUT";
	
	// Fill IDS time-dependent fields
 	    for(int i=0; i < number10; i++)
	    {
         		ids.x.y// Do not forget time!!
        ids.time(i) = VALUE(i) ;
		
		
        // DoSetting notvalues forgetof time!!
 		ids.timedata
        ids.global_quantities.ip(i) = TIME2*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(12shot, 2run, -1, -1);
    	imas.create(createEnv(userName, database, imasVersion);

	IDS::core_profiles    ids = imas._core_profiles;
	
	    //! Mandatory to define this property
	    ids.ids_properties.homogeneous_time = 1; IDS_TIME_MODE_HOMOGENEOUS;

	// Fill IDS time-independent fields
	ids.ids_properties.comment = "IDS createdstored by C++ PUTputSlice (CPP)";
 	ids.putNonTimed();
 	
	// Fill
     // allocate the IDS time-dependent fields
	structures - vector of size 1
    ids.global_quantities.ip.resize(1);
 
   	ids.global_quantitiestime.ipresize(0) = VALUE;
	
	

	1);

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

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

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

	    }

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



06.2.3.2 "get" and "getSlice" functions

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 number;
	//Open the database
 	 run = 22;
    char*  userName;
    char*  imasVersion;


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

    //Open database
    IdsNs::IDS imas(12shot, 2run, -1, -1);
	    imas.open(); //Open the database
    
	IdsNs::IDS::core_profilesopenEnv(userName, database, imasVersion);
    ids = imas._core_profiles;
   ids.get();

   number = ids.time.extentget(0);
 
   for (int j=0; j< number; j++)
   {
     printf(cout << "Time: " << %g",ids.time(j)) << endl;
    cout << printf("Value: %g", " << ids.x.y(j))global_quantities.ip << endl;

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



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

#include "UALClasses.h"
using namespace IdsNs;

int main(int argc, char *argv[])
{
	//Open the database
	IDS imas(12, 2    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.open(openEnv(userName, database, imasVersion); 
   	
	IDS::core_profiles ids = imas._core_profiles;

   	
	 //Get the slice corresponding to the passed time
	    ids.getSlice(12.0, 2);
	
	printf("Time %g",ids.time(0));
  	printf("Value: %g",ids.x.y(0));
	
	
    cout << "Time: " << ids.time << endl;
    cout << "Value: " << ids.global_quantities.ip << endl;

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



Code Block
languagecpp
titleBuilding the code
linenumberstrue
CXX=g++
COPTS = -g `pkg-config imas-cpp --cflags`
LIBS =`pkg-config imas-cpp --libs`

all: ids_get.exe ids_put.exe ids_getSlice.exe ids_putSlice.exe

%.exe: %.cpp
$(CXX) $(COPTS) -o $@ $< $(LIBS)

clean:
rm -f *.o *.exe

Unknown macro: {source}