List of all members | Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes
FdProfileConstrainedGeometryFitPG::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 G/ApertureLight.h.

Member Enumeration Documentation

Enumerator
ePerEye 
ePerTelescope 
ePerEyeAndTelescope 

Definition at line 78 of file G/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 G/ApertureLight.cc.

References Angle(), utl::CosAngle(), fwk::LocalCoordinateSystemConstructor< Policy >::Create(), utl::deg, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fADCTraceIndex, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fChiVecMean, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fEyeBgVarianceSum, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fEyeFluxSum, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fEyeVarianceSum, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fNearBorder, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fT1, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fT2, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fTelBgVarianceSum, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fTelFluxSum, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fTelVarianceSum, FdProfileConstrainedGeometryFitPG::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 G/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 G/ApertureLight.cc.

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

void FdProfileConstrainedGeometryFitPG::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 G/ApertureLight.cc.

References utl::abs(), Angle(), fwk::LocalCoordinateSystemConstructor< Policy >::Create(), utl::deg, degree, ERROR, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fADCTraceIndex, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fChiVecMean, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fEyeBgVarianceSum, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fEyeFluxSum, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fEyeVarianceSum, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fNearBorder, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fPixelsInZeta, fSDP(), FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fTelBgVarianceSum, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fTelFluxSum, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fTelVarianceSum, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fUsedForTimeFit, fdet::Telescope::GetCamera(), fdet::Pixel::GetDiaPhoton2PEFactor(), fdet::Telescope::GetDiaphragmArea(), fdet::Pixel::GetDirection(), fdet::Camera::GetGainVariance(), fdet::FDetector::GetPixel(), fdet::Telescope::GetPosition(), fdet::FDetector::GetReferenceLambda(), 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 G/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 698 of file G/ApertureLight.cc.

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

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

Definition at line 88 of file G/ApertureLight.h.

Member Data Documentation

double FdProfileConstrainedGeometryFitPG::ApertureLight::fBorderMargin
private

Definition at line 106 of file G/ApertureLight.h.

double FdProfileConstrainedGeometryFitPG::ApertureLight::fmaxZetaAngle
private

Definition at line 102 of file G/ApertureLight.h.

double FdProfileConstrainedGeometryFitPG::ApertureLight::fminZetaAngle
private

Definition at line 103 of file G/ApertureLight.h.

double FdProfileConstrainedGeometryFitPG::ApertureLight::fSafetyMargin
private

Definition at line 105 of file G/ApertureLight.h.

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

geometry and trace bin data

Definition at line 111 of file G/ApertureLight.h.

double FdProfileConstrainedGeometryFitPG::ApertureLight::fstepZetaAngle
private

Definition at line 104 of file G/ApertureLight.h.

bool FdProfileConstrainedGeometryFitPG::ApertureLight::fStripMode
private

Definition at line 108 of file G/ApertureLight.h.

int FdProfileConstrainedGeometryFitPG::ApertureLight::fVerbosity
private

XML cards.

Definition at line 95 of file G/ApertureLight.h.


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

, generated on Tue Sep 26 2023.