/*-------------------------------------------------*/ /* created by Mirko Boin */ /* Helmholtz-Zentrum Berlin (HZB) */ /* boin@helmholtz-berlin.de */ /*-------------------------------------------------*/ #ifndef BRAGGEDGECALCULATOR_H #define BRAGGEDGECALCULATOR_H #include #include #include /** @author Mirko Boin, Helmholtz Centre Berlin for Materials and Energy */ /*! * \brief Container class for the cross section calculation. * */ class BraggEdgeCalculator : public QObject { Q_OBJECT private: std::vector *textureVector; public: BraggEdgeCalculator(); ~BraggEdgeCalculator(); void setMarchDollaseTexture( std::vector *textureVector ); void setCalculationRange( double startLambda, double endLambda, unsigned int samplingPoints ); int nLambda; std::vector vdLambda; std::vector vdXsectCohEl; std::vector vdXsectCohInel; std::vector vdXsectIncEl; std::vector vdXsectIncInel; std::vector vdXsectAbs; std::vector vdXsectTotal; std::vector vdXsectSPh; std::vector vdXsectMPh; std::vector vdAttenCoeff; NXS_UnitCell unitcell; public slots: void calculateCrosssections(); }; #endif