8 #ifndef LAR_DISCRETE_PROBABILITY_VECTOR_H 
    9 #define LAR_DISCRETE_PROBABILITY_VECTOR_H 1 
   11 #include "Pandora/PandoraInternal.h" 
   12 #include "Pandora/StatusCodes.h" 
   28     template <
typename TX, 
typename TY>
 
   31     template <
typename TX, 
typename TY>
 
   45     template <
typename TX, 
typename TY>
 
   87     float GetX(
const unsigned int index) 
const;
 
  123     float GetWidth(
const unsigned int index) 
const;
 
  134     void GetAllAtIndex(
const unsigned int index, 
float &
x, 
float &probabilityDensity, 
float &cumulativeProbability, 
float &width) 
const;
 
  197     template <
typename TX, 
typename TY>
 
  231     template <
typename TX, 
typename TY>
 
  241     template <
typename TX, 
typename TY>
 
  316     const unsigned int index, 
float &
x, 
float &probabilityDensity, 
float &cumulativeProbability, 
float &width)
 const 
  322     probabilityDensity = theDatum.GetDensityDatum();
 
  323     cumulativeProbability = theDatum.GetCumulativeDatum();
 
  324     width = theDatum.GetWidth();
 
  330     const float x, 
const float densityDatum, 
const float cumulativeDatum, 
const float width) :
 
  332     m_densityDatum(densityDatum),
 
  333     m_cumulativeDatum(cumulativeDatum),
 
  349     return m_densityDatum;
 
  356     return m_cumulativeDatum;
 
  371         throw pandora::StatusCodeException(pandora::STATUS_CODE_NOT_INITIALIZED);
 
  374         throw pandora::StatusCodeException(pandora::STATUS_CODE_INVALID_PARAMETER);
 
  384         throw pandora::StatusCodeException(pandora::STATUS_CODE_OUT_OF_RANGE);
 
  391 #endif // #ifndef  LAR_DISCRETE_PROBABILITY_VECTOR_H 
std::vector< InputDatum< TX, TY >> InputData
 
float GetProbabilityDensity(const unsigned int index) const 
Get the probability density value of the element in the vector. 
 
void VerifyCompleteData() const 
Verify the integrity of the complete probability vector. 
 
float GetX(const unsigned int index) const 
Get the x value of the element in the vector. 
 
float EvaluateCumulativeProbability(const float x) const 
Evaluate the cumulative probability at arbitrary x. 
 
DiscreteProbabilityVector class. 
 
float m_densityDatum
The probability density value. 
 
process_name opflash particleana ie x
 
float m_cumulativeDatum
The cumulative probability value. 
 
DiscreteProbabilityData ResampleDiscreteProbabilityData(const DiscreteProbabilityVector &discreteProbabilityVector, const ResamplingPoints &resamplingPoints) const 
Get a resampled probability data vector by resampling another probability data vector. 
 
std::vector< DiscreteProbabilityDatum > DiscreteProbabilityData
 
float CalculateNormalisation(const InputData< TX, TY > &inputData) const 
Calculate the probability normalisation. 
 
DiscreteProbabilityDatum(const float x, const float densityDatum, const float cumulativeDatum, const float width)
Constructor. 
 
DiscreteProbabilityData InitialiseDiscreteProbabilityData(InputData< TX, TY > inputData) const 
Get a initialised probability data vector from the input data. 
 
float GetWidth(const unsigned int index) const 
Get the width of the element in the vectorr. 
 
float GetWidth() const 
Get the width of the datum. 
 
void VerifyElementRequest(const unsigned int index) const 
Verify the integrity of the element request. 
 
float GetDensityDatum() const 
Get the probability density for the datum. 
 
void GetAllAtIndex(const unsigned int index, float &x, float &probabilityDensity, float &cumulativeProbability, float &width) const 
Get all information stored at a particular index. 
 
float m_width
The width of the probability bin. 
 
DiscreteProbabilityData RandomiseDiscreteProbabilityData(const DiscreteProbabilityVector &discreteProbabilityVector, std::mt19937 &randomNumberGenerator) const 
Get a randomised probability data vector in which the x values are unchanged, the probability density...
 
static bool SortInputDataByX(const InputDatum< TX, TY > &lhs, const InputDatum< TX, TY > &rhs)
Sort the input data according to their x value. 
 
InputData< float, float > AllFloatInputData
 
float GetCumulativeProbability(const unsigned int index) const 
Get the cumulative probability value of the element in the vector. 
 
float GetProbability(const unsigned int index) const 
Get the probability value of the element in the vector. 
 
DiscreteProbabilityVector(const InputData< TX, TY > &inputData, const TX xUpperBound, const bool useWidths)
Constructor. 
 
DiscreteProbabilityData m_discreteProbabilityData
the probability data 
 
float m_xUpperBound
the upper bound of the probability vector 
 
float GetX() const 
Get the x value for the datum. 
 
bool m_useWidths
controls whether bin widths are used in calculations 
 
DiscreteProbabilityData class. 
 
float m_x
The x coordinate. 
 
unsigned int GetSize() const 
Get the size of the probability vector. 
 
float GetCumulativeDatum() const 
Get the cumulative probability for the datum. 
 
std::pair< TX, TY > InputDatum
 
pandora::FloatVector ResamplingPoints