// // File : EyeT3Data.hh // // Purpose: Declaration of the class TEyeT3Data // // $Id: EyeT3Data.hh 12083 2011-02-21 17:11:42Z mathes $ // /** @file EyeT3Data.hh * Declaration of the class TEyeT3Data. * @author H.-J. Mathes, FzK */ #ifndef _EyeT3Data_hh_ #define _EyeT3Data_hh_ #include #include #include /** Describes the output of the online T3 algorithm */ class TEyeT3Data : public TObject { public: /** Return values of getters when the object has not been set properly. For example, GetSDPTheta() will return kInvalidValue when the event is classified as noise, and therefore evaluating the SDP is impossible. NOTES: @li Version 1 of the data structure has no members */ static const float kInvalidValue /* = 9999.0 */; /** Default constructor of the class TEyeT3Data. */ TEyeT3Data(); /** Reset all values to TEyeT3Data::kInvalidValue. */ virtual void Reset(); /** The number of pixels selected by the T3. */ unsigned int GetNPixels() const { return fNPixels; } /** The theta angle of the SDP normal. * * A rough estimate of the SDP is found by T3. * @note This function will return TEyeT3Data::kInvalidValue * when does not apply to the event (e.g., it is classified as noise. */ float GetSDPTheta() const { return fSDPTheta; } /** The phi of the SDP normal. * * A rough estimate of the SDP is found by T3. * @note This function will return TEyeT3Data::kInvalidValue * when does not apply to the event (e.g., it is classified as noise). */ float GetSDPPhi() const { return fSDPPhi; } /** Extrapolated shower azimuth at the impact point on ground. CDAS coordinates. */ float GetAzimuthAtGround() const { return fAzimuthAtGround; } /** Extrapolated shower time at the impact point on ground. In units of GPS nanoseconds for CDAS. */ int GetTimeAtGround() const { return fTimeAtGround; } /** */ float GetTotalSignal() const { return fTotalSignal; } /** Set the number of pixels selected by T3. */ void SetNPixels(int npixels) { fNPixels = npixels; } /** Set the theta of the SDP normal vector. */ void SetSDPTheta(float sdptheta) { fSDPTheta = sdptheta; } /** Set the theta of the SDP normal vector. */ void SetSDPPhi(float sdpphi) { fSDPPhi = sdpphi; } /** */ void SetAzimuthAtGround(float az_ground) { fAzimuthAtGround= az_ground; } /** */ void SetTimeAtGround(unsigned int tground) { fTimeAtGround= tground; } /** */ void SetTotalSignal(float total) { fTotalSignal = total; } public: /** Print the contents of this object verbosely to the passed ostream. */ void Show(std::ostream& ostr=std::cout); private: /** Number of selected pixels. */ Int_t fNPixels; /** Theta of SDP normal. */ Float_t fSDPTheta; /** Phi of SDP normal. */ Float_t fSDPPhi; /** Extrapolated shower azimuth at the impact point on ground. CDAS coordinates. */ Float_t fAzimuthAtGround; /** Extrapolated shower time at the impact point on ground. In units of GPS nanoseconds for CDAS. */ Int_t fTimeAtGround; /** The total signal (integral) of the ADC traces of the track. */ Float_t fTotalSignal; ClassDef(TEyeT3Data,EyeEVENTVERSIONv3) }; #endif // _EyeT3Data_hh_