#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::TabulatedFunctionErrors & | GetClearedEyeLightFlux (fevt::Eye &eye, const fevt::FdConstants::LightSource source) |
utl::TabulatedFunctionErrors & | GetClearedTelescopeLightFlux (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... | |
Definition at line 76 of file G/ApertureLight.h.
Enumerator | |
---|---|
ePerEye | |
ePerTelescope | |
ePerEyeAndTelescope |
Definition at line 78 of file G/ApertureLight.h.
|
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().
|
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.
|
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().
|
private |
Fills light fluxes for a telescope
|
private |
Definition at line 272 of file G/ApertureLight.cc.
References degree, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fEyeBgVarianceSum, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fEyeFluxSum, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fEyeVarianceSum, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fNearBorder, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fPixelsInZeta, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fT1, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fT2, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fTelBgVarianceSum, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fTelFluxSum, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fTelVarianceSum, FdProfileConstrainedGeometryFitPG::ShowerGeometryData::fUsedForTimeFit, fevt::Eye::GetRecData(), fevt::Eye::GetTelescope(), det::if(), INFO, fevt::EyeRecData::SetZeta(), fevt::Eye::TelescopesBegin(), and fevt::Eye::TelescopesEnd().
|
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().
|
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().
|
private |
Get (and potentially create or clear) a type of light flux for one telescope
Definition at line 442 of file G/ApertureLight.cc.
References utl::TabulatedFunctionErrors::Clear(), fevt::TelescopeRecData::GetLightFlux(), fevt::Telescope::GetRecData(), fevt::TelescopeRecData::HasLightFlux(), and fevt::TelescopeRecData::MakeLightFlux().
bool ApertureLight::Init | ( | void | ) |
Definition at line 56 of file G/ApertureLight.cc.
References utl::Branch::GetChild(), utl::Branch::GetData(), fwk::CentralConfig::GetInstance(), and fwk::CentralConfig::GetTopBranch().
|
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 | ) |
Definition at line 84 of file G/ApertureLight.cc.
References fevt::FEvent::EyesBegin(), evt::Event::GetFEvent(), fevt::Eye::GetId(), evt::Event::HasFEvent(), and INFO.
|
inline |
Definition at line 88 of file G/ApertureLight.h.
|
private |
Definition at line 106 of file G/ApertureLight.h.
|
private |
Definition at line 102 of file G/ApertureLight.h.
|
private |
Definition at line 103 of file G/ApertureLight.h.
|
private |
Definition at line 105 of file G/ApertureLight.h.
|
private |
geometry and trace bin data
Definition at line 111 of file G/ApertureLight.h.
|
private |
Definition at line 104 of file G/ApertureLight.h.
|
private |
Definition at line 108 of file G/ApertureLight.h.
|
private |
XML cards.
Definition at line 95 of file G/ApertureLight.h.