本文整理汇总了C++中MDWSDescription::getInWS方法的典型用法代码示例。如果您正苦于以下问题:C++ MDWSDescription::getInWS方法的具体用法?C++ MDWSDescription::getInWS怎么用?C++ MDWSDescription::getInWS使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MDWSDescription
的用法示例。
在下文中一共展示了MDWSDescription::getInWS方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: exist
/** Initialize unit conversion helper
* This method is interface to internal initialize method, which actually takes
all parameters UnitConversion helper needs from
* targetWSDescr class
* @param targetWSDescr -- the class which contains all information about target
workspace
including energy transfer mode, number of dimensions,
input workspace etc.
* @param unitsTo -- the ID of the units conversion helper would help to
convert to
* @param forceViaTOF -- force to perform unit conversion via TOF even if
quick conversion exist (by default, false)
*
*/
void UnitsConversionHelper::initialize(const MDWSDescription &targetWSDescr,
const std::string &unitsTo,
bool forceViaTOF) {
// obtain input workspace units
API::MatrixWorkspace_const_sptr inWS2D = targetWSDescr.getInWS();
if (!inWS2D)
throw(std::runtime_error("UnitsConversionHelper::initialize Should not be "
"able to call this function when workpsace is "
"undefined"));
API::NumericAxis *pAxis =
dynamic_cast<API::NumericAxis *>(inWS2D->getAxis(0));
if (!pAxis)
throw(std::invalid_argument(
"Cannot retrieve numeric X axis from the input workspace: " +
inWS2D->name()));
std::string unitsFrom = inWS2D->getAxis(0)->unit()->unitID();
// get detectors positions and other data needed for units conversion:
if (!(targetWSDescr.m_PreprDetTable))
throw std::runtime_error("MDWSDescription does not have a detector table");
int Emode = (int)targetWSDescr.getEMode();
this->initialize(unitsFrom, unitsTo, targetWSDescr.m_PreprDetTable, Emode,
forceViaTOF);
}
示例2: initialize
void MDTransfNoQ::initialize(const MDWSDescription &ConvParams) {
// get pointer to the positions of the detectors
std::vector<Kernel::V3D> const &DetDir =
ConvParams.m_PreprDetTable->getColVector<Kernel::V3D>("DetDirections");
m_Det = &DetDir[0]; //
// get min and max values defined by the algorithm.
ConvParams.getMinMax(m_DimMin, m_DimMax);
m_NMatrixDim =
getNMatrixDimensions(Kernel::DeltaEMode::Undefined, ConvParams.getInWS());
m_AddDimCoordinates = ConvParams.getAddCoord();
API::NumericAxis *pXAx;
this->getAxes(ConvParams.getInWS(), pXAx, m_YAxis);
}
示例3: initialize
void UnitsConversionHelper::initialize(const MDWSDescription &TWSD, const std::string &units_to)
{
// obtain input workspace units
API::MatrixWorkspace_const_sptr inWS2D = TWSD.getInWS();
if(!inWS2D.get()){
throw(std::logic_error("UnitsConversionHelper::initialize Should not be able to call this function when workpsace is undefined"));
}
API::NumericAxis *pAxis = dynamic_cast<API::NumericAxis *>(inWS2D->getAxis(0));
if(!pAxis){
std::string ERR = "can not retrieve numeric X axis from the input workspace: "+inWS2D->name();
throw(std::invalid_argument(ERR));
}
pSourceWSUnit = inWS2D->getAxis(0)->unit();
if(!pSourceWSUnit){
throw(std::logic_error(" can not retrieve source workspace units from the source workspace's numeric axis"));
}
// Check how input workspace units relate to the units requested
UnitCnvrsn = analyzeUnitsConversion(pSourceWSUnit->unitID(),units_to);
// get units class, requested by ChildAlgorithm
pTargetUnit = Kernel::UnitFactory::Instance().create(units_to);
if(!pTargetUnit){
throw(std::logic_error(" can not retrieve target unit from the units factory"));
}
// get detectors positions and other data needed for units conversion:
pTwoTheta = &(TWSD.getDetectors()->getTwoTheta());
pL2 = &(TWSD.getDetectors()->getL2());
L1 = TWSD.getDetectors()->getL1();
// get efix
efix = TWSD.getEi();
emode = (int)TWSD.getEMode();
}