1 #ifndef _fevt_EyeRecData_h_
2 #define _fevt_EyeRecData_h_
5 #include <fevt/CoordinateData.h>
7 #include <utl/TimeStamp.h>
8 #include <utl/AxialVector.h>
9 #include <utl/MultiTabulatedFunctionErrors.h>
10 #include <utl/ShadowPtr.h>
11 #include <utl/LameShadowPtr.h>
13 #include <boost/iterator/indirect_iterator.hpp>
41 PCGFData(
double a,
double b,
double c,
EPCGFStatus d,
const std::map<std::string,double>& e,
const std::map<std::string,double>& f) :
fChi0(a),
fRp(b),
fT0(c),
fStatus(d),
fChi2(e),
fNDof(f) {}
46 const std::map<std::string,double>&
GetChi2()
const {
return fChi2; }
47 const std::map<std::string,double>&
GetNDof()
const {
return fNDof; }
53 std::map<std::string, double>
fChi2;
54 std::map<std::string, double>
fNDof;
235 void SetTZero(
const double tzero,
const double error)
239 void SetRp(
const double rp,
const double error)
255 const double northTheta,
256 const double northPhi,
257 const double northTCore,
258 const double eastTheta,
259 const double eastPhi,
260 const double eastTCore,
261 const double thetaPhi,
262 const double thetaTCore,
263 const double phiTCore)
287 {
return fLightProfile->GetTabulatedFunctionErrors(source); }
289 {
return fLightProfile->GetTabulatedFunctionErrors(source); }
InternalPixelContainer::const_iterator ConstInternalPixelIterator
std::vector< fevt::Pixel * > InternalPixelContainer
MultiLightFluxIterator LightFluxesBegin()
Begin of the Light flux, returns a LabeledTabulatedFunctionErrors.
pointer with built-in initialization, deletion, deep copying
double GetThetaTCoreCorrelation() const
PixelIterator RemoveTimeFitPixel(PixelIterator it)
Remove a pixel from the list of Time Fit pixels.
boost::transform_iterator< LabeledObjectFunctor, typename MultiObjectContainer::iterator, LabeledTabulatedFunctionErrors > Iterator
void SetChiZero(const double chiZero, const double error)
double GetChi0TZeroCorrelation() const
bool HasLightFlux(const FdConstants::LightSource source=FdConstants::eTotal) const
Check that light profile for source /par source is present.
void SetSDPPhiError(const double sdpPhiError)
std::vector< CoordinateData > fCoordinateData
ConstMultiLightFluxIterator LightFluxesBegin() const
double GetRpError() const
const evt::ShowerFRecData & GetFRecShower() const
void SetSDPFitChiSquare(const double sdpChi2, const unsigned int ndof)
Fluorescence Detector Eye Event.
PixelIterator PulsedPixelsEnd()
void SetPCGF(const std::vector< PCGFData > &pcgf)
double fThetaTCoreCorrelation
double GetChiZero() const
double GetSDPFitChiSquare() const
double GetNorthThetaCorrelation() const
unsigned int GetSDPFitNDof() const
unsigned int GetTimeFitNDof() const
ConstPixelIterator TimeFitPixelsEnd() const
unsigned int GetEyeId() const
double GetRpTZeroCorrelation() const
Reconstruction Coordinates at each time slot.
double fSDPThetaPhiCorrelation
const utl::TabulatedFunctionErrors & GetLightFlux(const FdConstants::LightSource source=fevt::FdConstants::eTotal) const
std::vector< CoordinateData >::iterator CoordinateIterator
void SetTimeFitCorrelations(const double rRpT0, const double rRpChi0, const double rChi0T0)
void SetRp(const double rp, const double error)
ConstPixelIterator SDPPixelsEnd() const
void AddSDPPixel(fevt::Pixel &pixel)
add a pixel to the list of SDP pixels
PixelIterator PulsedPixelsBegin()
double fRpTZeroCorrelation
utl::InitializedShadowPtr< utl::MultiTabulatedFunctionErrors > fLightProfile
boost::transform_iterator< LabeledObjectFunctor, typename MultiObjectContainer::const_iterator, LabeledTabulatedFunctionErrors > ConstIterator
double GetSDPPhiError() const
InternalPixelContainer fSDPPixels
pixels used for SDP
double GetTZeroError() const
double GetChiZeroError() const
void SetZeta(const double zeta)
double fNorthThetaCorrelation
A TimeStamp holds GPS second and nanosecond for some event.
boost::indirect_iterator< ConstInternalPixelIterator, const Pixel & > ConstPixelIterator
Const iterator over pixels used in reconstruction.
ConstPixelIterator PulsedPixelsBegin() const
double GetEastTCoreCorrelation() const
double GetPhiTCoreCorrelation() const
const std::map< std::string, double > & GetChi2() const
void SetAxisFitCorrelations(const double northEast, const double northTheta, const double northPhi, const double northTCore, const double eastTheta, const double eastPhi, const double eastTCore, const double thetaPhi, const double thetaTCore, const double phiTCore)
void MakeFRecShower()
Allocate reconstructed shower info.
double fNorthPhiCorrelation
void AddPulsedPixel(fevt::Pixel &pixel)
add a pixel to the list of pulsed pixels
void SetPhotonsStartTime(const utl::TimeStamp &ts)
CoordinateIterator CoordinatesEnd()
PixelIterator SDPPixelsBegin()
unsigned int GetNCoordinates() const
const std::vector< PCGFData > & GetPCGF() const
LightSource
Possible light sources.
Fluorescence Detector Pixel event.
InternalPixelContainer fPulsedPixels
pixels with Fluorescence Pulse
ConstCoordinateIterator CoordinatesEnd() const
bool HasFRecShower() const
Check if reconstructed shower info has been allocated.
evt::ShowerFRecData & GetFRecShower()
Reconstructed shower info for this eye.
void SetSDPCorrThetaPhi(double sdpCorrThetaPhi)
ConstPixelIterator PulsedPixelsEnd() const
utl::LameShadowPtr< evt::ShowerFRecData > fShowerData
double fEastThetaCorrelation
MultiLightFluxIterator LightFluxesEnd()
End of the Light flux, returns a LabeledTabulatedFunctionErrors.
void SetTimeFitChiSquare(const double tfitChi2, const unsigned int ndof)
double GetSDPCorrThetaPhi() const
InternalPixelContainer fTimeFitPixels
pixels used for Time Fit
utl::MultiTabulatedFunctionErrors::Iterator MultiLightFluxIterator
An iterator over the components of the Light Flux.
double GetEastThetaCorrelation() const
unsigned int GetNPulsedPixels() const
Get number of pulsed pixels.
double GetNorthTCoreCorrelation() const
ConstMultiLightFluxIterator LightFluxesEnd() const
PCGFData(double a, double b, double c, EPCGFStatus d, const std::map< std::string, double > &e, const std::map< std::string, double > &f)
double GetNorthPhiCorrelation() const
Eye-specific shower reconstruction data.
std::vector< CoordinateData >::const_iterator ConstCoordinateIterator
unsigned int fAxisFitNDof
ConstCoordinateIterator CoordinatesBegin() const
double GetThetaPhiCorrelation() const
const utl::AxialVector & GetSDP() const
double GetTimeFitChiSquare() const
const std::map< std::string, double > & GetNDof() const
unsigned int GetNTimeFitPixels() const
Get number of Time Fit pixels.
double GetRpChi0Correlation() const
boost::indirect_iterator< InternalPixelIterator, fevt::Pixel & > PixelIterator
Iterator over pixels used in reconstruction.
std::map< std::string, double > fChi2
double fNorthTCoreCorrelation
void AddCoordinate(const fevt::CoordinateData &coor)
add a point to the list of coordinates
void SetAxisFitChiSquare(const double globalChi2, const unsigned int ndof)
CoordinateIterator RemoveCoordinate(CoordinateIterator it)
remove a point to the list of coordinates
double fEastPhiCorrelation
double fChi0TZeroCorrelation
double GetEastPhiCorrelation() const
double fPhiTCoreCorrelation
unsigned int GetAxisFitNDof() const
PixelIterator TimeFitPixelsEnd()
utl::MultiTabulatedFunctionErrors::ConstIterator ConstMultiLightFluxIterator
Interface class to access to Fluorescence reconstruction of a Shower.
void SetSDPThetaError(const double sdpThetaError)
std::vector< PCGFData > fPCGF
void SetSDP(const utl::AxialVector &vec)
EyeRecData(const unsigned int eyeId)
double fThetaPhiCorrelation
void SetTZero(const double tzero, const double error)
PixelIterator SDPPixelsEnd()
void SetEyeId(const unsigned int id)
void AddTimeFitPixel(fevt::Pixel &pixel)
add a pixel to the list of Time Fit pixels
utl::TabulatedFunctionErrors & GetLightFlux(const FdConstants::LightSource source=fevt::FdConstants::eTotal)
Light flux at diaphragm, photons/m^2 versus time in ns.
unsigned int fTimeFitNDof
double fEastTCoreCorrelation
ConstPixelIterator SDPPixelsBegin() const
unsigned int GetNSDPPixels() const
Get number of SDP pixels.
PixelIterator RemovePulsedPixel(PixelIterator it)
remove a pixel from the list of pulsed pixels
CoordinateIterator CoordinatesBegin()
PixelIterator TimeFitPixelsBegin()
PixelIterator RemoveSDPPixel(PixelIterator it)
Remove a pixel from the list of SDP pixels.
ConstPixelIterator TimeFitPixelsBegin() const
void MakeLightFlux(const FdConstants::LightSource source=FdConstants::eTotal)
utl::TimeStamp fTraceStartTime
EPCGFStatus GetStatus() const
InternalPixelContainer::iterator InternalPixelIterator
double fRpChi0Correlation
double GetNorthEastCorrelation() const
double fNorthEastCorrelation
double GetAxisFitChiSquare() const
utl::TimeStamp GetPhotonsStartTime() const
Start Time of the photons trace.
std::map< std::string, double > fNDof
double GetSDPThetaError() const