//
//
#include "brukerobjectvaryingproperties.h"
-//#include "brukerexception.h"
+#include "brukerexception.h"
BrukerObjectVaryingProperties::BrukerObjectVaryingProperties()
double BrukerObjectVaryingProperties::getTE(unsigned int theValue) const{
if (theValue < TE.size() ) {return TE[theValue];}
- else throw 0;
+ //else throw 0;
+ else throw BrukerSizeException("TE", theValue, TE.size() );
}
/*void BrukerObjectVaryingProperties::computeTE(const std::vector< double >& theValue)
double BrukerObjectVaryingProperties::getPositionP(unsigned int theValue) const{
if (theValue < PositionP.size() ) return PositionP[theValue];
- else throw 1;
+// else throw 1;
+ else throw BrukerSizeException("PositionP", theValue, PositionP.size() );
}
/*void BrukerObjectVaryingProperties::computePositionP(const std::vector< double >& theValue)
double BrukerObjectVaryingProperties::getPositionR(unsigned int theValue) const{
if (theValue < PositionR.size() ) return PositionR[theValue];
- else throw 2;
+// else throw 2;
+ else throw BrukerSizeException("PositionR", theValue, PositionR.size() );
}
/*void BrukerObjectVaryingProperties::computePositionR(const std::vector< double >& theValue)
double BrukerObjectVaryingProperties::getPositionS(unsigned int theValue) const{
if (theValue < PositionS.size() ) return PositionS[theValue];
- else throw 3;
+// else throw 3;
+ else throw BrukerSizeException("PositionS", theValue, PositionS.size() );
}
/*void BrukerObjectVaryingProperties::computePositionS(const std::vector< double >& theValue)
int BrukerObjectVaryingProperties::getAcquisitionOrder(unsigned int theValue) const{
if (theValue <AcquisitionOrder.size()) return AcquisitionOrder[theValue];
- else throw 4;
+ //else throw 4;
+ else throw BrukerSizeException("AcquisitionOrder", theValue, AcquisitionOrder.size() );
}
/*void BrukerObjectVaryingProperties::computeAcquisitionOrder(const std::vector< int >& theValue1, const std::vector< int >& theValue2)
std :: vector < std :: vector < double > > BrukerObjectVaryingProperties::getOrientation(unsigned int theValue) const{
if (theValue < Orientation.size())return Orientation[theValue];
- else throw 9;
+ //else throw 9;
+ else throw BrukerSizeException("Orientation", theValue, Orientation.size() );
}
/*void BrukerObjectVaryingProperties::computeOrientation( std :: vector < double > & theValue1,const std::vector< int >& theValue2)
void BrukerObjectVaryingProperties::computeOrientation(std::map<std::string, BrukerFieldData> & BrukerHM, std::vector<int> & LoopStruct){
if (BrukerHM[(std::string) "ACQ_grad_matrix"].GetDoubleValue().size() != LoopStruct[3]*9) throw 12;
- if (LoopStruct.size() < 4 ) throw 13;
-
+ if (LoopStruct.size() < 4 )
+ //throw 13;
+ throw BrukerSizeException("LoopStruct", 4, LoopStruct.size() );
+
std::vector<double> Temp1D(3,0.0);
std::vector<std::vector<double> > Temp2D;
std::vector<std::vector<std::vector<double> > > Temp3D;
*/
bool BrukerObjectVaryingProperties::init(std::map<std::string, BrukerFieldData> & BrukerHM, std::vector<int> & LoopStruct)
{
- computeAcquisitionOrder( BrukerHM, LoopStruct);
- computeOrientation(BrukerHM, LoopStruct);
- computePositionP(BrukerHM);
- computePositionR(BrukerHM);
- computePositionS(BrukerHM);
- computePositionTimePerNR(BrukerHM, LoopStruct);
- computeTE(BrukerHM);
-
+ try {
+ computeAcquisitionOrder (BrukerHM, LoopStruct);
+ computeOrientation (BrukerHM, LoopStruct);
+ computePositionP (BrukerHM);
+ computePositionR (BrukerHM);
+ computePositionS (BrukerHM);
+ computePositionTimePerNR(BrukerHM, LoopStruct);
+ computeTE (BrukerHM);
+ }
+
+ catch (...)
+ {
+ std::cout << "Failure during BrukerObjectVaryingProperties::init " << std::endl;
+ return false;
+ }
+
return true;
}