List of all members | Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
FdEnergyDepositFinderKG::CFMatrixCalculator Class Reference

#include <CFMatrixCalculator.h>

Public Types

typedef std::vector
< TelescopeData >
::const_iterator 
ConstTelDataIterator
 
enum  EMethod { eFast, ePrecise }
 
typedef boost::filter_iterator
< TelescopeFilter,
ConstTelDataIterator
FilteredTelDataIterator
 

Public Member Functions

ConstTelDataIterator AllTelDataBegin () const
 
ConstTelDataIterator AllTelDataEnd () const
 
void BuildMatrix (const fevt::Eye &eye, const bool leavingAtmoIsError=false, const unsigned int addDense=1)
 
 CFMatrixCalculator ()=default
 
const LowerTriangularMatrixGetCFMatrix () const
 
const DiagonalMatrixGetDirectCFMatrix () const
 
const DiagonalMatrixGetDirectCherenkovMatrix () const
 
const DiagonalMatrixGetDirectFluorescenceMatrix () const
 
unsigned int GetEyeId () const
 
unsigned int GetFOVSize () const
 
const LowerTriangularMatrixGetMieScatteredCherenkovMatrix () const
 
bool GetOnlyDirect () const
 
const LowerTriangularMatrixGetRayScatteredCherenkovMatrix () const
 
unsigned int GetSize () const
 
double GetXmax () const
 
bool HasMatrix () const
 
void Init ()
 
return LowerTriangularMatrix (fNumberOfDepthBins)+fDirectCFMatrix.GetInverse()
 
ConstTelDataIterator NoiseTelDataBegin () const
 
ConstTelDataIterator NoiseTelDataEnd () const
 
void SetLDFMethod (const LateralLightCalculator::ECalculationMethod m)
 
void SetMethod (const CFMatrixCalculator::EMethod m)
 
void SetOnlyDirect (const bool od)
 
void SetVerbosity (const int v)
 
FilteredTelDataIterator TelDataBegin (const TelescopeData::ETelDataType type)
 
FilteredTelDataIterator TelDataEnd (const TelescopeData::ETelDataType type)
 
 ~CFMatrixCalculator ()
 

Public Attributes

LowerTriangularMatrix const
 

Private Member Functions

void AddBinsOutsideFOV (const fevt::Eye &eye)
 
void CalculateDiagonalParameters ()
 
void CalculateDirectCherenkovMatrix ()
 
void CalculateFluorescenceMatrix ()
 
utl::TabulatedFunctionErrorsCalculateLCEff (const fevt::FdConstants::LightSource lightSource, const fevt::TelescopeRecData &telRecData) const
 Fetches the light collection efficiency of the given light source from the TelescopeRecData (if available) More...
 
void CalculateMieAndRayScattCherenkovMatrix ()
 
bool CalculateTelescopeData (const fevt::Eye &eye, const bool leavingAtmoIsError, const unsigned int addDense)
 
void Clear ()
 
std::pair< const TelescopeData
*, const TelescopeDataBin * > 
GetTelescopeDataBin (const unsigned int i) const
 
bool InitCalculation (const fevt::Eye &eye)
 
bool IsOverlapBin (const int i, const int j) const
 
double MultipleScatteringFraction (const TelescopeDataBin &telDataBin, const std::vector< double > &waveLengths, const utl::TabulatedFunction &yield, const double zeta, const utl::Point &telescopePosition, const utl::TabulatedFunction &efficiency) const
 
void SetTelescopeParameters (const fevt::Eye &eye, TelescopeData &telData) const
 

Private Attributes

LowerTriangularMatrix fCFMatrix
 
std::vector< std::vector
< double > > 
fCherenkovAtTrack
 
std::vector< double > fCherenkovMultipleScattering
 
std::vector< std::vector
< double > > 
fCherTransmissionShower
 
std::vector< std::vector
< double > > 
fCherTransmissionToTel
 
std::vector< double > fCherWaveLength
 
std::vector< double > fCosTheta
 
DiagonalMatrix fDirectCFMatrix
 
DiagonalMatrix fDirectCherenkovMatrix
 
DiagonalMatrix fDirectFluorescenceMatrix
 
bool fDoMultipleScattering = false
 
double fElectronEnergyThreshold = 0
 
unsigned int fEyeId = 0
 
std::vector< double > fFluorescenceMultipleScattering
 
std::vector< std::vector
< double > > 
fFluoTransmissionToTel
 
std::vector< double > fFluoWaveLength
 
unsigned int fFOVsize = 0
 
std::vector< double > fGeometricalFactor
 
LateralLightCalculatorfLateralLightCalculator = nullptr
 
std::vector< double > fMeandEdXPerElectron
 
EMethod fMethod = ePrecise
 
LowerTriangularMatrix fMieScatteredCherenkovMatrix
 
std::vector< std::vector
< double > > 
fMieScatToTel
 
std::vector< TelescopeDatafNoiseTelescopeData
 
unsigned int fNumberOfDepthBins = 0
 
bool fOnlyDirect = false
 
LowerTriangularMatrix fRayScatteredCherenkovMatrix
 
std::vector< std::vector
< double > > 
fRayScatToTel
 
utl::Vector fShowerAxis
 
std::vector< TelescopeDatafTelescopeData
 
int fVerbosity = 0
 
double fXmax = 0
 
std::vector< double > fZetaDistance
 

Detailed Description

Definition at line 31 of file CFMatrixCalculator.h.

Member Typedef Documentation

Definition at line 81 of file CFMatrixCalculator.h.

Definition at line 92 of file CFMatrixCalculator.h.

Member Enumeration Documentation

Enumerator
eFast 
ePrecise 

Definition at line 34 of file CFMatrixCalculator.h.

Constructor & Destructor Documentation

FdEnergyDepositFinderKG::CFMatrixCalculator::CFMatrixCalculator ( )
default
CFMatrixCalculator::~CFMatrixCalculator ( )

Definition at line 74 of file CFMatrixCalculator.cc.

Member Function Documentation

void CFMatrixCalculator::AddBinsOutsideFOV ( const fevt::Eye eye)
private
ConstTelDataIterator FdEnergyDepositFinderKG::CFMatrixCalculator::AllTelDataBegin ( ) const
inline
ConstTelDataIterator FdEnergyDepositFinderKG::CFMatrixCalculator::AllTelDataEnd ( ) const
inline
void CFMatrixCalculator::BuildMatrix ( const fevt::Eye eye,
const bool  leavingAtmoIsError = false,
const unsigned int  addDense = 1 
)

Definition at line 81 of file CFMatrixCalculator.cc.

References gPrintPrefix.

void CFMatrixCalculator::CalculateDiagonalParameters ( )
private
void CFMatrixCalculator::CalculateDirectCherenkovMatrix ( )
private
void CFMatrixCalculator::CalculateFluorescenceMatrix ( )
private
utl::TabulatedFunctionErrors * CFMatrixCalculator::CalculateLCEff ( const fevt::FdConstants::LightSource  lightSource,
const fevt::TelescopeRecData telRecData 
) const
private
void CFMatrixCalculator::CalculateMieAndRayScattCherenkovMatrix ( )
private
bool CFMatrixCalculator::CalculateTelescopeData ( const fevt::Eye eye,
const bool  leavingAtmoIsError,
const unsigned int  addDense 
)
private
void CFMatrixCalculator::Clear ( )
private

Definition at line 1002 of file CFMatrixCalculator.cc.

References utl::TabulatedFunctionErrors::Clear().

const LowerTriangularMatrix& FdEnergyDepositFinderKG::CFMatrixCalculator::GetCFMatrix ( ) const
inline
const DiagonalMatrix& FdEnergyDepositFinderKG::CFMatrixCalculator::GetDirectCFMatrix ( ) const
inline

Definition at line 54 of file CFMatrixCalculator.h.

References fDirectCFMatrix, and fOnlyDirect.

const DiagonalMatrix& FdEnergyDepositFinderKG::CFMatrixCalculator::GetDirectCherenkovMatrix ( ) const
inline
const DiagonalMatrix& FdEnergyDepositFinderKG::CFMatrixCalculator::GetDirectFluorescenceMatrix ( ) const
inline
unsigned int FdEnergyDepositFinderKG::CFMatrixCalculator::GetEyeId ( ) const
inline

Definition at line 48 of file CFMatrixCalculator.h.

References fEyeId.

Referenced by FdEnergyDepositFinderKG::ProfileFitter::SetLightFluxData().

unsigned int FdEnergyDepositFinderKG::CFMatrixCalculator::GetFOVSize ( ) const
inline

Definition at line 46 of file CFMatrixCalculator.h.

References fFOVsize.

const LowerTriangularMatrix& FdEnergyDepositFinderKG::CFMatrixCalculator::GetMieScatteredCherenkovMatrix ( ) const
inline
bool FdEnergyDepositFinderKG::CFMatrixCalculator::GetOnlyDirect ( ) const
inline

Definition at line 49 of file CFMatrixCalculator.h.

References fOnlyDirect.

const LowerTriangularMatrix& FdEnergyDepositFinderKG::CFMatrixCalculator::GetRayScatteredCherenkovMatrix ( ) const
inline
unsigned int FdEnergyDepositFinderKG::CFMatrixCalculator::GetSize ( ) const
inline
pair< const TelescopeData *, const TelescopeDataBin * > CFMatrixCalculator::GetTelescopeDataBin ( const unsigned int  i) const
private

Definition at line 1028 of file CFMatrixCalculator.cc.

References data, and ERROR.

double FdEnergyDepositFinderKG::CFMatrixCalculator::GetXmax ( ) const
inline

Definition at line 47 of file CFMatrixCalculator.h.

References fXmax.

bool FdEnergyDepositFinderKG::CFMatrixCalculator::HasMatrix ( ) const
inline

Definition at line 44 of file CFMatrixCalculator.h.

References GetSize().

void CFMatrixCalculator::Init ( void  )
bool CFMatrixCalculator::InitCalculation ( const fevt::Eye eye)
private
bool CFMatrixCalculator::IsOverlapBin ( const int  i,
const int  j 
) const
private

Definition at line 1064 of file CFMatrixCalculator.cc.

References utl::cm2, ERROR, and utl::g.

return FdEnergyDepositFinderKG::CFMatrixCalculator::LowerTriangularMatrix ( fNumberOfDepthBins  )
double CFMatrixCalculator::MultipleScatteringFraction ( const TelescopeDataBin telDataBin,
const std::vector< double > &  waveLengths,
const utl::TabulatedFunction yield,
const double  zeta,
const utl::Point telescopePosition,
const utl::TabulatedFunction efficiency 
) const
private
ConstTelDataIterator FdEnergyDepositFinderKG::CFMatrixCalculator::NoiseTelDataBegin ( ) const
inline
ConstTelDataIterator FdEnergyDepositFinderKG::CFMatrixCalculator::NoiseTelDataEnd ( ) const
inline
void FdEnergyDepositFinderKG::CFMatrixCalculator::SetLDFMethod ( const LateralLightCalculator::ECalculationMethod  m)
inline
void FdEnergyDepositFinderKG::CFMatrixCalculator::SetMethod ( const CFMatrixCalculator::EMethod  m)
inline

Definition at line 99 of file CFMatrixCalculator.h.

References fMethod, and utl::m.

void FdEnergyDepositFinderKG::CFMatrixCalculator::SetOnlyDirect ( const bool  od)
inline

Definition at line 101 of file CFMatrixCalculator.h.

References fOnlyDirect.

void CFMatrixCalculator::SetTelescopeParameters ( const fevt::Eye eye,
TelescopeData telData 
) const
private
void FdEnergyDepositFinderKG::CFMatrixCalculator::SetVerbosity ( const int  v)
inline

Definition at line 98 of file CFMatrixCalculator.h.

References fVerbosity.

FilteredTelDataIterator FdEnergyDepositFinderKG::CFMatrixCalculator::TelDataBegin ( const TelescopeData::ETelDataType  type)
inline

Definition at line 93 of file CFMatrixCalculator.h.

References AllTelDataBegin(), and AllTelDataEnd().

FilteredTelDataIterator FdEnergyDepositFinderKG::CFMatrixCalculator::TelDataEnd ( const TelescopeData::ETelDataType  type)
inline

Definition at line 95 of file CFMatrixCalculator.h.

References AllTelDataEnd().

Member Data Documentation

LowerTriangularMatrix FdEnergyDepositFinderKG::CFMatrixCalculator::const
Initial value:
{

Definition at line 60 of file CFMatrixCalculator.h.

LowerTriangularMatrix FdEnergyDepositFinderKG::CFMatrixCalculator::fCFMatrix
private

Definition at line 143 of file CFMatrixCalculator.h.

Referenced by GetCFMatrix(), and GetSize().

std::vector<std::vector<double> > FdEnergyDepositFinderKG::CFMatrixCalculator::fCherenkovAtTrack
private

Definition at line 165 of file CFMatrixCalculator.h.

std::vector<double> FdEnergyDepositFinderKG::CFMatrixCalculator::fCherenkovMultipleScattering
private

Definition at line 163 of file CFMatrixCalculator.h.

std::vector<std::vector<double> > FdEnergyDepositFinderKG::CFMatrixCalculator::fCherTransmissionShower
private

Definition at line 157 of file CFMatrixCalculator.h.

std::vector<std::vector<double> > FdEnergyDepositFinderKG::CFMatrixCalculator::fCherTransmissionToTel
private

Definition at line 155 of file CFMatrixCalculator.h.

std::vector<double> FdEnergyDepositFinderKG::CFMatrixCalculator::fCherWaveLength
private

Definition at line 151 of file CFMatrixCalculator.h.

std::vector<double> FdEnergyDepositFinderKG::CFMatrixCalculator::fCosTheta
private

Definition at line 181 of file CFMatrixCalculator.h.

DiagonalMatrix FdEnergyDepositFinderKG::CFMatrixCalculator::fDirectCFMatrix
private

Definition at line 144 of file CFMatrixCalculator.h.

Referenced by GetDirectCFMatrix(), and GetSize().

DiagonalMatrix FdEnergyDepositFinderKG::CFMatrixCalculator::fDirectCherenkovMatrix
private

Definition at line 141 of file CFMatrixCalculator.h.

Referenced by GetDirectCherenkovMatrix().

DiagonalMatrix FdEnergyDepositFinderKG::CFMatrixCalculator::fDirectFluorescenceMatrix
private

Definition at line 142 of file CFMatrixCalculator.h.

Referenced by GetDirectFluorescenceMatrix().

bool FdEnergyDepositFinderKG::CFMatrixCalculator::fDoMultipleScattering = false
private

Definition at line 189 of file CFMatrixCalculator.h.

double FdEnergyDepositFinderKG::CFMatrixCalculator::fElectronEnergyThreshold = 0
private

Definition at line 173 of file CFMatrixCalculator.h.

unsigned int FdEnergyDepositFinderKG::CFMatrixCalculator::fEyeId = 0
private

Definition at line 136 of file CFMatrixCalculator.h.

Referenced by GetEyeId().

std::vector<double> FdEnergyDepositFinderKG::CFMatrixCalculator::fFluorescenceMultipleScattering
private

Definition at line 162 of file CFMatrixCalculator.h.

std::vector<std::vector<double> > FdEnergyDepositFinderKG::CFMatrixCalculator::fFluoTransmissionToTel
private

Definition at line 156 of file CFMatrixCalculator.h.

std::vector<double> FdEnergyDepositFinderKG::CFMatrixCalculator::fFluoWaveLength
private

Definition at line 152 of file CFMatrixCalculator.h.

unsigned int FdEnergyDepositFinderKG::CFMatrixCalculator::fFOVsize = 0
private

Definition at line 185 of file CFMatrixCalculator.h.

Referenced by GetFOVSize().

std::vector<double> FdEnergyDepositFinderKG::CFMatrixCalculator::fGeometricalFactor
private

Definition at line 167 of file CFMatrixCalculator.h.

LateralLightCalculator* FdEnergyDepositFinderKG::CFMatrixCalculator::fLateralLightCalculator = nullptr
private

Definition at line 188 of file CFMatrixCalculator.h.

Referenced by SetLDFMethod().

std::vector<double> FdEnergyDepositFinderKG::CFMatrixCalculator::fMeandEdXPerElectron
private

Definition at line 171 of file CFMatrixCalculator.h.

EMethod FdEnergyDepositFinderKG::CFMatrixCalculator::fMethod = ePrecise
private

Definition at line 183 of file CFMatrixCalculator.h.

Referenced by SetMethod().

LowerTriangularMatrix FdEnergyDepositFinderKG::CFMatrixCalculator::fMieScatteredCherenkovMatrix
private

Definition at line 139 of file CFMatrixCalculator.h.

Referenced by GetMieScatteredCherenkovMatrix().

std::vector<std::vector<double> > FdEnergyDepositFinderKG::CFMatrixCalculator::fMieScatToTel
private

Definition at line 160 of file CFMatrixCalculator.h.

std::vector<TelescopeData> FdEnergyDepositFinderKG::CFMatrixCalculator::fNoiseTelescopeData
private

Definition at line 148 of file CFMatrixCalculator.h.

Referenced by NoiseTelDataBegin(), and NoiseTelDataEnd().

unsigned int FdEnergyDepositFinderKG::CFMatrixCalculator::fNumberOfDepthBins = 0
private

Definition at line 137 of file CFMatrixCalculator.h.

bool FdEnergyDepositFinderKG::CFMatrixCalculator::fOnlyDirect = false
private
LowerTriangularMatrix FdEnergyDepositFinderKG::CFMatrixCalculator::fRayScatteredCherenkovMatrix
private

Definition at line 140 of file CFMatrixCalculator.h.

Referenced by GetRayScatteredCherenkovMatrix().

std::vector<std::vector<double> > FdEnergyDepositFinderKG::CFMatrixCalculator::fRayScatToTel
private

Definition at line 159 of file CFMatrixCalculator.h.

utl::Vector FdEnergyDepositFinderKG::CFMatrixCalculator::fShowerAxis
private

Definition at line 177 of file CFMatrixCalculator.h.

std::vector<TelescopeData> FdEnergyDepositFinderKG::CFMatrixCalculator::fTelescopeData
private

Definition at line 146 of file CFMatrixCalculator.h.

Referenced by AllTelDataBegin(), and AllTelDataEnd().

int FdEnergyDepositFinderKG::CFMatrixCalculator::fVerbosity = 0
private

Definition at line 135 of file CFMatrixCalculator.h.

Referenced by SetVerbosity().

double FdEnergyDepositFinderKG::CFMatrixCalculator::fXmax = 0
private

Definition at line 175 of file CFMatrixCalculator.h.

Referenced by GetXmax().

std::vector<double> FdEnergyDepositFinderKG::CFMatrixCalculator::fZetaDistance
private

Definition at line 169 of file CFMatrixCalculator.h.


The documentation for this class was generated from the following files:

, generated on Tue Sep 26 2023.