//////////////////////////////////////////////////////////////////// /** @class RAT::DS::Calib * Data Structure: Calibration source * * Information about calibration source active during this event. If * no source was active, then @p id will be set to -1. * * The precise meaning of these attributes depends on the source * type. Currently known sources are listed below. * * @b LED * - @p sourceName : "LED" * - @p id : Number of LED in array, indexed from 0. * - @p mode : Wavelength of source in nanometers * - @p intensity : Number of photons emitted */ #ifndef __RAT_DS_Calib__ #define __RAT_DS_Calib__ #include #include #include namespace RAT { namespace DS { class Calib : public TObject { public: Calib() : TObject(), sourceName(""), id(-1) { }; virtual ~Calib() { }; /** Short name of calibration source. */ virtual const std::string &GetSourceName() const { return sourceName; }; virtual void SetSourceName(const std::string &_sourceName) { sourceName = _sourceName; }; /** ID number of source, -1 if no source active during this event */ virtual Int_t GetID() const { return id; }; virtual void SetID(Int_t _id) { id = _id; }; /** Source mode (meaning depends on type of source) */ virtual Int_t GetMode() const { return mode; }; virtual void SetMode(Int_t _mode) { mode = _mode; }; /** Source intensity (meaning depends on type of source) */ virtual Float_t GetIntensity() const { return intensity; }; virtual void SetIntensity(Float_t _intensity) { intensity = _intensity; }; /** Time (ns) of source activation */ virtual Double_t GetTime() const { return time; }; virtual void SetTime(Double_t _time) { time = _time; }; /** Location (mm) of source when activated. */ virtual const TVector3 &GetPos() const { return pos; }; virtual void SetPos(const TVector3 &_pos) { pos = _pos; }; /** Direction of source when activated. */ virtual const TVector3 &GetDir() const { return dir; }; virtual void SetDir(const TVector3 &_dir) { dir = _dir; }; // ROOT junk ClassDef(Calib,3); protected: std::string sourceName; Int_t id; Int_t mode; Float_t intensity; Double_t time; TVector3 pos; TVector3 dir; }; } // namespace DS } // namespace RAT #endif