14 #ifndef _SdHorizontalReconstructionNS_SdHorizontalReconstruction_h_
15 #define _SdHorizontalReconstructionNS_SdHorizontalReconstruction_h_
19 #include <fwk/VModule.h>
21 #include <evt/Event.h>
23 #include <utl/TimeStamp.h>
24 #include <utl/CoordinateSystemPtr.h>
26 #include <boost/shared_ptr.hpp>
54 namespace SdHorizontalReconstructionNS{
146 const int option = 0)
const;
154 const int option = 0)
const;
172 const double distance)
const;
183 double& rho,
double& theta,
SdHorizontalReconstruction()
tls::VTankResponse * fTankResponse
Facade for any instance of EMComponent.
bool FitShowerSize(SizeData &sd, const AxisData &ad, const ExternalGeometryData &gd, const StationList &list, const SilentStationList &slist, const int option=0) const
bool fDropStationsBelowThreshold
bool UpdateBarycenter(std::size_t &nCandidates, const sevt::SEvent &sevent)
void PrepareStationData(StationList &list, SilentStationList &slist, const utl::Point &core, const utl::Point &origin, const sevt::SEvent &sEvent) const
Class to handle average muon profiles.
Interface class to access to the SD part of an event.
fwk::VModule::ResultFlag Run(evt::Event &event)
Run: invoked once per event.
REGISTER_MODULE("SdHorizontalReconstruction", SdHorizontalReconstruction)
std::size_t fMinStationsForEnergyFit
ExternalGeometry fExternalGeometry
std::vector< double > fN19Correction
double fMaxDistanceStationToExternalCore
A TimeStamp holds GPS second and nanosecond for some event.
void LocalCoordinates(double &xProjected, double &yProjected, double &rho, double &theta, const utl::Point &pos, const utl::Point &origin, const utl::Point &core) const
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
Interface class for coupling different tank response calculations into the reconstruction code...
ShowerFrontModel fShowerFrontModel
boost::shared_ptr< tls::MuonProfile > fMuonProfile
utl::CoordinateSystemPtr fBaryCS
double ExpectedCurvatureRadius(const double theta) const
virtual ~SdHorizontalReconstruction()
double fMaxThetaDifference
void GetShowerAxis(utl::Point &core, utl::Point &origin, const double coreX, const double coreY, const double theta, const double phi, const double distance) const
std::vector< StationData > StationList
bool FitShowerFront(const utl::Point &core, AxisData &ad, const ExternalGeometryData &gd, const StationList &list, const int option=0) const
bool fPropagateAxisUncertainty
bool GetExternalGeometry(ExternalGeometryData &gd, const evt::Event &event)
std::size_t fMinStationsForProductionDistanceFit
void SetReconstructedValues(evt::Event &event, const SizeData &sd, const AxisData &ad, const StationList &list, const SilentStationList &slist, const ExternalGeometryData &extGeom) const
ResultFlag
Flag returned by module methods to the RunController.
std::vector< SilentStationData > SilentStationList
double fMaxSilentRelDistance
std::vector< double > fCurvModelPars
double fMaxDistanceCoreToBarycenter
double fSilentSignalThreshold
fwk::VModule::ResultFlag Finish()
Finish: invoked at end of the run (NOT end of the event)
bool CleanEvent(std::size_t &nCandidates, sevt::SEvent &sEvent, const AxisData &axisData, const SizeData &sizeData) const
boost::shared_ptr< tls::EMComponent > fEMComponent
fwk::VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)