]> Creatis software - creaBruker.git/blob - lib/src1/brukerFieldData.h
Initial revision
[creaBruker.git] / lib / src1 / brukerFieldData.h
1 #ifndef BRUKERFIELDDATA_H
2 #define BRUKERFIELDDATA_H
3 /*! \file brukerFieldData.h
4 */
5 #include <string>
6 #include <vector>
7 #include "brukerSystem.h"
8
9  /**
10 \class  BrukerFieldData
11     \brief This class is an atom to generate a BrukerDataSet
12    */
13 class creaBruker_EXPORT BrukerFieldData {
14 friend class BrukerDataSet;
15 public:
16  /*! \brief Constructor
17 */
18   BrukerFieldData () {};
19 /*! \brief Destructor
20 */
21   ~BrukerFieldData (){};
22 /*! \brief Returns the keyword type: int, float, string as a string
23 */
24   const std::string &GetDataType()                   { return DataType;}
25 /*! \fn int GetDimensionNumber()
26         \brief Returns the dimension of the keyword:
27         0-> scalar
28         1-> 1D vector
29          2-> 2D vector
30         ...
31 */
32   int GetDimensionNumber()                           { return DimensionNumber;}
33 /*! \fn const std::vector<int> &GetDimensionNumberValue( )
34 \brief Returns a vector of size DimensionNumber giving the size of each dimension of the keyword
35 */
36   const std::vector<int> &GetDimensionNumberValue( ) { return DimensionNumberValue;}
37 /*! \fn int GetNumberOfElements()     
38 \brief Returns the total number of elements for keyword
39 */
40   int GetNumberOfElements()                          { return NumberOfElements;}
41 /*! 
42 \fn const std::vector<std::string> &GetStringValue() 
43 \brief Return a string vector of all the element of keyword
44 */
45   const std::vector<std::string> &GetStringValue()   { return StringValue;}
46 /*! 
47 \fn const std::vector<int> &GetIntValue () 
48 \brief Return an int vector of all the element of keyword
49 */
50   const std::vector<int> &GetIntValue ()             { return IntValue;}
51 /*! 
52 \fn const std::vector<double> &GetDoubleValue()
53 \brief Return a double vector of all the element of keyword
54 */
55   const std::vector<double> &GetDoubleValue()        { return DoubleValue;}
56
57
58  void PrintSelf();
59
60 private :
61 /*! \var  DataType
62 \brief Datatype of the keyword content
63 */
64   std::string DataType;
65 /*! \var DimensionNumber
66 \brief Dimmensionnality of the keyword
67 */
68   int DimensionNumber;
69 /*! \var DimensionNumberValue
70 \brief Vector of int giving the dimension of each dimension of the keyword content 
71 */
72   std::vector<int> DimensionNumberValue;
73 /*! \var NumberOfElements
74 \brief Total number of elements contained in keyword
75 */
76   int NumberOfElements;
77 /*! \var StringValue
78 \brief Vector of string containing the elements of keyword if they are string
79 */
80   std::vector<std::string> StringValue;
81 /*! \var IntValue
82 \brief Vector of string containing the elements of keyword if they are string
83 */
84   std::vector<int> IntValue;
85 /*! \var DoubleValue
86 \brief Vector of string containing the elements of keyword if they are string
87 */
88   std::vector<double> DoubleValue;
89 };
90 #endif