GMocrenDataPrimitive< T > Class Template Reference

#include <G4GMocrenIO.hh>


Public Member Functions

 GMocrenDataPrimitive ()
 ~GMocrenDataPrimitive ()
GMocrenDataPrimitive< T > & operator= (const GMocrenDataPrimitive< T > &_right)
GMocrenDataPrimitive< T > & operator+ (const GMocrenDataPrimitive< T > &_right)
GMocrenDataPrimitive< T > & operator+= (const GMocrenDataPrimitive< T > &_right)
void clear ()
void clearImage ()
void setSize (int _size[3])
void getSize (int _size[3])
void setScale (double &_scale)
double getScale ()
void setMinMax (T _minmax[2])
void getMinMax (T _minmax[2])
void setImage (std::vector< T * > &_image)
void addImage (T *_image)
std::vector< T * > & getImage ()
T * getImage (int _z)
void setCenterPosition (float _center[3])
void getCenterPosition (float _center[3])
void setName (std::string &_name)
std::string getName ()

Protected Attributes

int kSize [3]
double kScale
kMinmax [2]
float kCenter [3]
std::vector< T * > kImage
std::string kDataName


Detailed Description

template<typename T>
class GMocrenDataPrimitive< T >

Definition at line 50 of file G4GMocrenIO.hh.


Constructor & Destructor Documentation

template<typename T>
GMocrenDataPrimitive< T >::GMocrenDataPrimitive (  ) 

Definition at line 60 of file G4GMocrenIO.cc.

References GMocrenDataPrimitive< T >::clear().

00060                                                {
00061   clear();
00062 }

template<typename T>
GMocrenDataPrimitive< T >::~GMocrenDataPrimitive (  ) 

Definition at line 64 of file G4GMocrenIO.cc.

00064                                                 {
00065   /*
00066     std::vector<short *>::iterator itr = image.begin();
00067     for(; itr != image.end(); itr++) {
00068     delete [] *itr;
00069     }
00070   */
00071 }


Member Function Documentation

template<typename T>
void GMocrenDataPrimitive< T >::addImage ( T *  _image  ) 

Definition at line 216 of file G4GMocrenIO.cc.

References GMocrenDataPrimitive< T >::kImage.

Referenced by GMocrenDataPrimitive< T >::operator+(), G4GMocrenIO::retrieveData2(), G4GMocrenIO::retrieveData3(), G4GMocrenIO::retrieveData4(), and G4GMocrenIO::setModalityImage().

00216                                                  {
00217   kImage.push_back(_image);
00218 }

template<typename T>
void GMocrenDataPrimitive< T >::clear (  ) 

Definition at line 167 of file G4GMocrenIO.cc.

References GMocrenDataPrimitive< T >::clearImage(), GMocrenDataPrimitive< T >::kCenter, GMocrenDataPrimitive< T >::kMinmax, GMocrenDataPrimitive< T >::kScale, and GMocrenDataPrimitive< T >::kSize.

Referenced by GMocrenDataPrimitive< T >::GMocrenDataPrimitive(), and G4GMocrenIO::initialize().

00167                                     {
00168   for(int i = 0; i < 3; i++) {
00169     kSize[i] = 0;
00170     kCenter[i] = 0.;
00171   }
00172   kScale = 1.;
00173   kMinmax[0] = (T)32109;
00174   kMinmax[1] = (T)-32109;
00175 
00176   clearImage();
00177 }

template<typename T>
void GMocrenDataPrimitive< T >::clearImage (  ) 

Definition at line 179 of file G4GMocrenIO.cc.

References GMocrenDataPrimitive< T >::kImage.

Referenced by GMocrenDataPrimitive< T >::clear(), and G4GMocrenIO::clearModalityImage().

00179                                          {
00180   typename std::vector<T *>::iterator itr;
00181   for(itr = kImage.begin(); itr != kImage.end(); itr++) {
00182     delete [] *itr;
00183   }
00184   kImage.clear();
00185 }

template<typename T>
void GMocrenDataPrimitive< T >::getCenterPosition ( float  _center[3]  ) 

Definition at line 233 of file G4GMocrenIO.cc.

References GMocrenDataPrimitive< T >::kCenter.

Referenced by G4GMocrenIO::getModalityCenterPosition().

00233                                                                 {
00234   for(int i = 0; i < 3; i++) _center[i] = kCenter[i];
00235 }

template<typename T>
T * GMocrenDataPrimitive< T >::getImage ( int  _z  ) 

Definition at line 224 of file G4GMocrenIO.cc.

References GMocrenDataPrimitive< T >::kImage.

00224                                             {
00225   if(_z >= (int)kImage.size())  return 0;
00226   return kImage[_z];
00227 }

template<typename T>
std::vector< T * > & GMocrenDataPrimitive< T >::getImage (  ) 

Definition at line 220 of file G4GMocrenIO.cc.

References GMocrenDataPrimitive< T >::kImage.

Referenced by G4GMocrenIO::getModalityImage(), G4GMocrenIO::storeData2(), G4GMocrenIO::storeData3(), and G4GMocrenIO::storeData4().

00220                                                    {
00221   return kImage;
00222 }

template<typename T>
void GMocrenDataPrimitive< T >::getMinMax ( _minmax[2]  ) 

Definition at line 207 of file G4GMocrenIO.cc.

References GMocrenDataPrimitive< T >::kMinmax.

Referenced by G4GMocrenIO::convertDensityToHU(), G4GMocrenIO::getModalityImageMax(), G4GMocrenIO::getModalityImageMin(), G4GMocrenIO::getModalityImageMinMax(), G4GMocrenIO::storeData2(), G4GMocrenIO::storeData3(), and G4GMocrenIO::storeData4().

00207                                                     {
00208   for(int i = 0; i < 2; i++) _minmax[i] = kMinmax[i];
00209 
00210 }

template<typename T>
std::string GMocrenDataPrimitive< T >::getName (  ) 

Definition at line 241 of file G4GMocrenIO.cc.

References GMocrenDataPrimitive< T >::kDataName.

00241                                            {
00242   return kDataName;
00243 }

template<typename T>
double GMocrenDataPrimitive< T >::getScale (  ) 

Definition at line 199 of file G4GMocrenIO.cc.

References GMocrenDataPrimitive< T >::kScale.

Referenced by G4GMocrenIO::getModalityImageScale(), G4GMocrenIO::storeData2(), G4GMocrenIO::storeData3(), and G4GMocrenIO::storeData4().

00199                                          {
00200   return kScale;
00201 }

template<typename T>
void GMocrenDataPrimitive< T >::getSize ( int  _size[3]  ) 

Definition at line 191 of file G4GMocrenIO.cc.

References GMocrenDataPrimitive< T >::kSize.

Referenced by G4GMocrenIO::getModalityImageSize(), G4GMocrenIO::storeData2(), G4GMocrenIO::storeData3(), and G4GMocrenIO::storeData4().

00191                                                   {
00192   for(int i = 0; i < 3; i++) _size[i] = kSize[i];
00193 }

template<typename T>
GMocrenDataPrimitive< T > & GMocrenDataPrimitive< T >::operator+ ( const GMocrenDataPrimitive< T > &  _right  ) 

Definition at line 92 of file G4GMocrenIO.cc.

References GMocrenDataPrimitive< T >::addImage(), DOSERANGE, G4VisManager::errors, G4cout, G4endl, G4VisManager::GetVerbosity(), GMocrenDataPrimitive< T >::kCenter, GMocrenDataPrimitive< T >::kImage, GMocrenDataPrimitive< T >::kSize, GMocrenDataPrimitive< T >::setCenterPosition(), GMocrenDataPrimitive< T >::setMinMax(), GMocrenDataPrimitive< T >::setScale(), and GMocrenDataPrimitive< T >::setSize().

00092                                                                            {
00093 
00094   GMocrenDataPrimitive<T> rprim;
00095   bool stat = true;
00096   for(int i = 0; i < 3; i++) {
00097     if(kSize[i] != _right.kSize[i]) stat = false;
00098     if(kCenter[i] != _right.kCenter[i]) stat = false;
00099   }
00100   if(!stat) {
00101     if (G4VisManager::GetVerbosity() >= G4VisManager::errors)
00102       G4cout << "Warning: operator + "
00103              << "         Cannot do the operator +"
00104              << G4endl;
00105     return *this;
00106   }
00107 
00108   rprim.setSize(kSize);
00109   rprim.setCenterPosition(kCenter);
00110   
00111   T mms[2] = {9e100,-9e100};
00112   //if(mms[0] > _right.minmax[0]) mms[0] = _right.minmax[0];
00113   //if(mms[1] < _right.minmax[1]) mms[1] = _right.minmax[1];
00114 
00115   int num = kSize[0]*kSize[1];
00116   for(int z = 0; z < kSize[2]; z++) {
00117     T * img = new T[num];
00118     for(int xy = 0; xy < num; xy++) {
00119       img[xy] = kImage[z][xy] + _right.kImage[z][xy];
00120       if(mms[0] > img[xy]) mms[0] = img[xy];
00121       if(mms[1] < img[xy]) mms[1] = img[xy];
00122     }
00123     rprim.addImage(img);
00124   }
00125   rprim.setMinMax(mms);
00126 
00127   T scl = mms[1]/DOSERANGE;
00128   rprim.setScale(scl);
00129 
00130   return rprim;
00131 }

template<typename T>
GMocrenDataPrimitive< T > & GMocrenDataPrimitive< T >::operator+= ( const GMocrenDataPrimitive< T > &  _right  ) 

Definition at line 134 of file G4GMocrenIO.cc.

References G4VisManager::errors, G4cout, G4endl, G4VisManager::GetVerbosity(), GMocrenDataPrimitive< T >::kCenter, GMocrenDataPrimitive< T >::kImage, GMocrenDataPrimitive< T >::kMinmax, and GMocrenDataPrimitive< T >::kSize.

00134                                                                             {
00135 
00136   bool stat = true;
00137   for(int i = 0; i < 3; i++) {
00138     if(kSize[i] != _right.kSize[i]) stat = false;
00139     if(kCenter[i] != _right.kCenter[i]) stat = false;
00140   }
00141   if(!stat) {
00142     if (G4VisManager::GetVerbosity() >= G4VisManager::errors)
00143       G4cout << "Warning: operator += " << G4endl
00144              << "         Cannot do the operator +="
00145              << G4endl;
00146     return *this;
00147   }
00148 
00149   if(kMinmax[0] > _right.kMinmax[0]) kMinmax[0] = _right.kMinmax[0];
00150   if(kMinmax[1] < _right.kMinmax[1]) kMinmax[1] = _right.kMinmax[1];
00151 
00152   int num = kSize[0]*kSize[1];
00153   for(int z = 0; z < kSize[2]; z++) {
00154     for(int xy = 0; xy < num; xy++) {
00155       kImage[z][xy] += _right.kImage[z][xy];
00156       if(kMinmax[0] > kImage[z][xy]) kMinmax[0] = kImage[z][xy];
00157       if(kMinmax[1] < kImage[z][xy]) kMinmax[1] = kImage[z][xy];
00158     }
00159   }
00160 
00161   kScale = kMinmax[1]/DOSERANGE;
00162 
00163   return *this;
00164 }

template<typename T>
GMocrenDataPrimitive< T > & GMocrenDataPrimitive< T >::operator= ( const GMocrenDataPrimitive< T > &  _right  ) 

Definition at line 74 of file G4GMocrenIO.cc.

References GMocrenDataPrimitive< T >::kCenter, GMocrenDataPrimitive< T >::kImage, GMocrenDataPrimitive< T >::kMinmax, GMocrenDataPrimitive< T >::kScale, and GMocrenDataPrimitive< T >::kSize.

00074                                                                            {
00075   for(int i = 0; i < 3; i++) {
00076     kSize[i] = _right.kSize[i];
00077     kCenter[i] = _right.kCenter[i];
00078   }
00079   kScale = _right.kScale;
00080   for(int i = 0; i < 2; i++) kMinmax[i] = _right.kMinmax[i];
00081   int num = kSize[0]*kSize[1];
00082   kImage.clear();
00083   for(int z = 0; z < kSize[2]; z++) {
00084     T * img = new T[num];
00085     for(int i = 0; i < num; i++) img[i] =_right.kImage[z][i];
00086     kImage.push_back(img);
00087   }
00088   return *this;
00089 }

template<typename T>
void GMocrenDataPrimitive< T >::setCenterPosition ( float  _center[3]  ) 

Definition at line 229 of file G4GMocrenIO.cc.

References GMocrenDataPrimitive< T >::kCenter.

Referenced by GMocrenDataPrimitive< T >::operator+(), and G4GMocrenIO::setModalityCenterPosition().

00229                                                                 {
00230   for(int i = 0; i < 3; i++) kCenter[i] = _center[i];
00231 }

template<typename T>
void GMocrenDataPrimitive< T >::setImage ( std::vector< T * > &  _image  ) 

Definition at line 212 of file G4GMocrenIO.cc.

References GMocrenDataPrimitive< T >::kImage.

00212                                                               {
00213   kImage = _image;
00214 }

template<typename T>
void GMocrenDataPrimitive< T >::setMinMax ( _minmax[2]  ) 

Definition at line 203 of file G4GMocrenIO.cc.

References GMocrenDataPrimitive< T >::kMinmax.

Referenced by GMocrenDataPrimitive< T >::operator+(), G4GMocrenIO::retrieveData2(), G4GMocrenIO::retrieveData3(), G4GMocrenIO::retrieveData4(), and G4GMocrenIO::setModalityImageMinMax().

00203                                                     {
00204   for(int i = 0; i < 2; i++) kMinmax[i] = _minmax[i];
00205 }

template<typename T>
void GMocrenDataPrimitive< T >::setName ( std::string &  _name  ) 

Definition at line 237 of file G4GMocrenIO.cc.

References GMocrenDataPrimitive< T >::kDataName.

00237                                                        {
00238   kDataName = _name;
00239 }

template<typename T>
void GMocrenDataPrimitive< T >::setScale ( double &  _scale  ) 

Definition at line 195 of file G4GMocrenIO.cc.

References GMocrenDataPrimitive< T >::kScale.

Referenced by GMocrenDataPrimitive< T >::operator+(), G4GMocrenIO::retrieveData2(), G4GMocrenIO::retrieveData3(), G4GMocrenIO::retrieveData4(), and G4GMocrenIO::setModalityImageScale().

00195                                                       {
00196   kScale = _scale;
00197 }

template<typename T>
void GMocrenDataPrimitive< T >::setSize ( int  _size[3]  ) 

Definition at line 187 of file G4GMocrenIO.cc.

References GMocrenDataPrimitive< T >::kSize.

Referenced by GMocrenDataPrimitive< T >::operator+(), G4GMocrenIO::retrieveData2(), G4GMocrenIO::retrieveData3(), G4GMocrenIO::retrieveData4(), and G4GMocrenIO::setModalityImageSize().

00187                                                   {
00188   for(int i = 0; i < 3; i++) kSize[i] = _size[i];
00189 }


Field Documentation

template<typename T>
float GMocrenDataPrimitive< T >::kCenter[3] [protected]

Definition at line 55 of file G4GMocrenIO.hh.

Referenced by GMocrenDataPrimitive< T >::clear(), GMocrenDataPrimitive< T >::getCenterPosition(), GMocrenDataPrimitive< T >::operator+(), GMocrenDataPrimitive< T >::operator+=(), GMocrenDataPrimitive< T >::operator=(), and GMocrenDataPrimitive< T >::setCenterPosition().

template<typename T>
std::string GMocrenDataPrimitive< T >::kDataName [protected]

Definition at line 57 of file G4GMocrenIO.hh.

Referenced by GMocrenDataPrimitive< T >::getName(), and GMocrenDataPrimitive< T >::setName().

template<typename T>
std::vector<T *> GMocrenDataPrimitive< T >::kImage [protected]

Definition at line 56 of file G4GMocrenIO.hh.

Referenced by GMocrenDataPrimitive< T >::addImage(), GMocrenDataPrimitive< T >::clearImage(), GMocrenDataPrimitive< T >::getImage(), GMocrenDataPrimitive< T >::operator+(), GMocrenDataPrimitive< T >::operator+=(), GMocrenDataPrimitive< T >::operator=(), and GMocrenDataPrimitive< T >::setImage().

template<typename T>
T GMocrenDataPrimitive< T >::kMinmax[2] [protected]

Definition at line 54 of file G4GMocrenIO.hh.

Referenced by GMocrenDataPrimitive< T >::clear(), GMocrenDataPrimitive< T >::getMinMax(), GMocrenDataPrimitive< T >::operator+=(), GMocrenDataPrimitive< T >::operator=(), and GMocrenDataPrimitive< T >::setMinMax().

template<typename T>
double GMocrenDataPrimitive< T >::kScale [protected]

Definition at line 53 of file G4GMocrenIO.hh.

Referenced by GMocrenDataPrimitive< T >::clear(), GMocrenDataPrimitive< T >::getScale(), GMocrenDataPrimitive< T >::operator=(), and GMocrenDataPrimitive< T >::setScale().

template<typename T>
int GMocrenDataPrimitive< T >::kSize[3] [protected]

Definition at line 52 of file G4GMocrenIO.hh.

Referenced by GMocrenDataPrimitive< T >::clear(), GMocrenDataPrimitive< T >::getSize(), GMocrenDataPrimitive< T >::operator+(), GMocrenDataPrimitive< T >::operator+=(), GMocrenDataPrimitive< T >::operator=(), and GMocrenDataPrimitive< T >::setSize().


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:54:02 2013 for Geant4 by  doxygen 1.4.7