15 #ifndef BORNAGAIN_CORE_COMPUTATION_DEPTHPROBEELEMENT_H 
   16 #define BORNAGAIN_CORE_COMPUTATION_DEPTHPROBEELEMENT_H 
   35     double getWavelength()
 const { 
return m_wavelength; }
 
   36     double getAlphaI()
 const { 
return m_alpha_i; }
 
   39     template <
typename T> 
void setIntensities(T&& intensities)
 
   42             std::is_assignable<std::valarray<double>, 
typename std::decay<T>::type>::value,
 
   43             "Error in DepthProbeElement::setIntensities: wrong type of input data.");
 
   44         m_intensities = std::forward<T>(intensities);
 
   47     const std::valarray<double>& getIntensities()
 const { 
return m_intensities; }
 
   49     void setZPositions(
const IAxis* z_positions) { m_z_positions = z_positions; }
 
   50     const IAxis* getZPositions()
 const { 
return m_z_positions; }
 
   52     size_t size()
 const { 
return m_intensities.size(); }
 
   56     bool isCalculated()
 const { 
return m_calculation_flag; }
 
   61     double m_wavelength, m_alpha_i;      
 
   62     std::valarray<double> m_intensities; 
 
   63     const IAxis* m_z_positions;          
 
   64     bool m_calculation_flag;
 
Defines basic vectors in R^3 and C^3.
 
void setCalculationFlag(bool calculation_flag)
Set calculation flag (if it's false, zero intensity is assigned to the element)
 
Interface for one-dimensional axes.