List of all members | Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes
FdProfileConstrainedGeometryFit::ApertureLight Class Reference

#include <ApertureLight.h>

Classes

class  LastTelTime
 

Public Member Functions

bool Init ()
 
bool Run (evt::Event &event)
 
void SetStripMode (bool strip=true)
 

Private Types

enum  eModeOfOperation { ePerEye, ePerTelescope, ePerEyeAndTelescope }
 

Private Member Functions

bool CalculateShowerGeometryData (const fevt::Eye &eye)
 
void FillEyeFluxes (fevt::Eye &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &)
 
void FillFluxes (utl::TabulatedFunctionErrors &, utl::TabulatedFunctionErrors &, utl::TabulatedFunctionErrors &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &)
 
void FillTelescopeFluxes (fevt::Telescope &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &, const std::vector< const std::vector< unsigned int > * > &, const std::list< std::pair< double, double > > &)
 
bool FindLightFlux (fevt::Eye &eye)
 
double FindZeta (fevt::Eye &eye, double initZeta, double finZeta, double stepZeta, bool fillFlux=false)
 
utl::TabulatedFunctionErrorsGetClearedEyeLightFlux (fevt::Eye &eye, const fevt::FdConstants::LightSource source)
 
utl::TabulatedFunctionErrorsGetClearedTelescopeLightFlux (fevt::Telescope &tel, const fevt::FdConstants::LightSource source)
 
bool IsNearBorder (const utl::Vector &direction, const fevt::Telescope &telescope, double zeta) const
 

Private Attributes

double fBorderMargin
 
double fmaxZetaAngle
 
double fminZetaAngle
 
double fSafetyMargin
 
std::map< unsigned short,
std::vector
< ShowerGeometryData > > 
fShowerGeometryData
 geometry and trace bin data More...
 
double fstepZetaAngle
 
bool fStripMode
 
int fVerbosity
 XML cards. More...
 

Detailed Description

Definition at line 76 of file ApertureLight.h.

Member Enumeration Documentation

Enumerator
ePerEye 
ePerTelescope 
ePerEyeAndTelescope 

Definition at line 78 of file ApertureLight.h.

Member Function Documentation

bool ApertureLight::CalculateShowerGeometryData ( const fevt::Eye eye)
private

calculates shower geometry data for each telescope

Definition at line 123 of file ApertureLight.cc.

References Angle(), utl::CosAngle(), fwk::LocalCoordinateSystemConstructor< Policy >::Create(), utl::deg, FdProfileConstrainedGeometryFit::ShowerGeometryData::fADCTraceIndex, FdProfileConstrainedGeometryFit::ShowerGeometryData::fChiVecMean, FdProfileConstrainedGeometryFit::ShowerGeometryData::fEyeBgVarianceSum, FdProfileConstrainedGeometryFit::ShowerGeometryData::fEyeFluxSum, FdProfileConstrainedGeometryFit::ShowerGeometryData::fEyeVarianceSum, FdProfileConstrainedGeometryFit::ShowerGeometryData::fNearBorder, FdProfileConstrainedGeometryFit::ShowerGeometryData::fT1, FdProfileConstrainedGeometryFit::ShowerGeometryData::fT2, FdProfileConstrainedGeometryFit::ShowerGeometryData::fTelBgVarianceSum, FdProfileConstrainedGeometryFit::ShowerGeometryData::fTelFluxSum, FdProfileConstrainedGeometryFit::ShowerGeometryData::fTelVarianceSum, FdProfileConstrainedGeometryFit::ShowerGeometryData::fUsedForTimeFit, fdet::Telescope::GetAxis(), evt::ShowerFRecData::GetAxis(), fdet::Telescope::GetCamera(), fdet::FDetector::GetChannel(), evt::ShowerFRecData::GetCorePosition(), evt::ShowerFRecData::GetCoreTime(), fdet::FDetector::GetEye(), fdet::Eye::GetEyeCoordinateSystem(), fdet::Channel::GetFADCBinSize(), fdet::Camera::GetFADCBinSize(), fdet::Camera::GetFADCTraceLength(), fevt::EyeRecData::GetFRecShower(), fevt::Eye::GetHeader(), fevt::Eye::GetId(), fdet::Telescope::GetId(), utl::Vector::GetMag(), fdet::Telescope::GetPosition(), fevt::Eye::GetRecData(), fevt::Telescope::GetRecData(), fevt::Eye::GetTelescope(), fdet::FDetector::GetTelescope(), fevt::EyeHeader::GetTimeStamp(), utl::BasicVector< HepVector >::GetX(), utl::BasicVector< HepVector >::GetY(), utl::BasicVector< HepVector >::GetZ(), fevt::EyeRecData::HasFRecShower(), fevt::Eye::HasRecData(), INFO, utl::kSpeedOfLight, utl::Vector::Normalize(), utl::ns, fevt::Eye::TelescopesBegin(), fevt::Eye::TelescopesEnd(), fevt::EyeRecData::TimeFitPixelsBegin(), and fevt::EyeRecData::TimeFitPixelsEnd().

void ApertureLight::FillEyeFluxes ( fevt::Eye eye,
const std::vector< double > &  fluoTime,
const std::vector< double > &  fluoTimeBin,
const std::vector< double > &  fluoFlux,
const std::vector< double > &  vfluoFlux,
const std::vector< double > &  vBackground 
)
private

Fills light fluxes for an eye

Definition at line 470 of file ApertureLight.cc.

References fevt::FdConstants::eBackground, fevt::FdConstants::eFluorTotal, and cevt::StationConstants::eTotal.

void ApertureLight::FillFluxes ( utl::TabulatedFunctionErrors fluolightprofile,
utl::TabulatedFunctionErrors lightprofile,
utl::TabulatedFunctionErrors backgroundProfile,
const std::vector< double > &  fluoTime,
const std::vector< double > &  fluoTimeBin,
const std::vector< double > &  fluoFlux,
const std::vector< double > &  vfluoFlux,
const std::vector< double > &  vBackground 
)
private

Generic guts of the combines-and-fill-flux methods

Definition at line 524 of file ApertureLight.cc.

References utl::TabulatedFunctionErrors::PushBack(), and sqrt().

void FdProfileConstrainedGeometryFit::ApertureLight::FillTelescopeFluxes ( fevt::Telescope ,
const std::vector< double > &  ,
const std::vector< double > &  ,
const std::vector< double > &  ,
const std::vector< double > &  ,
const std::vector< double > &  ,
const std::vector< const std::vector< unsigned int > * > &  ,
const std::list< std::pair< double, double > > &   
)
private

Fills light fluxes for a telescope

bool ApertureLight::FindLightFlux ( fevt::Eye eye)
private
double ApertureLight::FindZeta ( fevt::Eye eye,
double  initZeta,
double  finZeta,
double  stepZeta,
bool  fillFlux = false 
)
private

Find the angle zeta that maximizes S/N

Definition at line 545 of file ApertureLight.cc.

References utl::abs(), Angle(), fwk::LocalCoordinateSystemConstructor< Policy >::Create(), utl::deg, degree, ERROR, FdProfileConstrainedGeometryFit::ShowerGeometryData::fADCTraceIndex, FdProfileConstrainedGeometryFit::ShowerGeometryData::fChiVecMean, FdProfileConstrainedGeometryFit::ShowerGeometryData::fEyeBgVarianceSum, FdProfileConstrainedGeometryFit::ShowerGeometryData::fEyeFluxSum, FdProfileConstrainedGeometryFit::ShowerGeometryData::fEyeVarianceSum, FdProfileConstrainedGeometryFit::ShowerGeometryData::fNearBorder, FdProfileConstrainedGeometryFit::ShowerGeometryData::fPixelsInZeta, fSDP(), FdProfileConstrainedGeometryFit::ShowerGeometryData::fTelBgVarianceSum, FdProfileConstrainedGeometryFit::ShowerGeometryData::fTelFluxSum, FdProfileConstrainedGeometryFit::ShowerGeometryData::fTelVarianceSum, FdProfileConstrainedGeometryFit::ShowerGeometryData::fUsedForTimeFit, fdet::Telescope::GetCamera(), fdet::Pixel::GetDiaPhoton2PEFactor(), fdet::Telescope::GetDiaphragmArea(), fdet::Pixel::GetDirection(), fdet::Camera::GetGainVariance(), fdet::FDetector::GetPixel(), fdet::Telescope::GetPosition(), fevt::Eye::GetRecData(), fdet::FDetector::GetReferenceLambda(), fevt::EyeRecData::GetSDP(), utl::Trace< T >::GetStart(), utl::Trace< T >::GetStop(), utl::BasicVector< HepVector >::GetX(), utl::BasicVector< HepVector >::GetY(), utl::BasicVector< HepVector >::GetZ(), std::pow(), sqrt(), fevt::Eye::TelescopesBegin(), and fevt::Eye::TelescopesEnd().

TabulatedFunctionErrors & ApertureLight::GetClearedEyeLightFlux ( fevt::Eye eye,
const fevt::FdConstants::LightSource  source 
)
private

Get (and potentially create or clear) a type of light flux type for the eye

Definition at line 455 of file ApertureLight.cc.

References utl::TabulatedFunctionErrors::Clear(), fevt::EyeRecData::GetLightFlux(), fevt::Eye::GetRecData(), fevt::EyeRecData::HasLightFlux(), and fevt::EyeRecData::MakeLightFlux().

TabulatedFunctionErrors & ApertureLight::GetClearedTelescopeLightFlux ( fevt::Telescope tel,
const fevt::FdConstants::LightSource  source 
)
private
bool ApertureLight::Init ( void  )
bool ApertureLight::IsNearBorder ( const utl::Vector direction,
const fevt::Telescope telescope,
double  zeta 
) const
private

Check if the light spot centered in direction and of radius zeta touches the borders of the camera

Definition at line 694 of file ApertureLight.cc.

References utl::CosAngle(), fevt::Telescope::MirrorEventBorderPixelsBegin(), and fevt::Telescope::MirrorEventBorderPixelsEnd().

bool ApertureLight::Run ( evt::Event event)
void FdProfileConstrainedGeometryFit::ApertureLight::SetStripMode ( bool  strip = true)
inline

Definition at line 88 of file ApertureLight.h.

Member Data Documentation

double FdProfileConstrainedGeometryFit::ApertureLight::fBorderMargin
private

Definition at line 106 of file ApertureLight.h.

double FdProfileConstrainedGeometryFit::ApertureLight::fmaxZetaAngle
private

Definition at line 102 of file ApertureLight.h.

double FdProfileConstrainedGeometryFit::ApertureLight::fminZetaAngle
private

Definition at line 103 of file ApertureLight.h.

double FdProfileConstrainedGeometryFit::ApertureLight::fSafetyMargin
private

Definition at line 105 of file ApertureLight.h.

std::map<unsigned short, std::vector<ShowerGeometryData> > FdProfileConstrainedGeometryFit::ApertureLight::fShowerGeometryData
private

geometry and trace bin data

Definition at line 111 of file ApertureLight.h.

double FdProfileConstrainedGeometryFit::ApertureLight::fstepZetaAngle
private

Definition at line 104 of file ApertureLight.h.

bool FdProfileConstrainedGeometryFit::ApertureLight::fStripMode
private

Definition at line 108 of file ApertureLight.h.

int FdProfileConstrainedGeometryFit::ApertureLight::fVerbosity
private

XML cards.

Definition at line 95 of file ApertureLight.h.


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

, generated on Tue Sep 26 2023.