// Author: Andrea Palaia 21/10/09 #ifndef __T30Event__ #define __T30Event__ //////////////////////////////////////////////////////////////// // // // T30Event // // // // This T30Event class handles an event from the 30 GHZ // // test stand. Each event holds 6 waveforms measured by // // antennas. // // // //////////////////////////////////////////////////////////////// #include #include #include #include #include #include #include #include "Waveform.h" class T30Event : public TObject { protected: //Waveform arrays: //w[0]: incoming inphase //w[1]: incoming quadrature //w[2]: reflected inphase //w[3]: reflected quadrature //w[4]: transmitted inphase //w[5]: transmitted quadrature Waveform ** w; public: ULong_t unixtime; //waveguide mismatch (ratio transmitted/reflected wave in case of no breakdown) Double_t mismatch; Double_t mismatch_err; //timeshift of transmitted wave with respect to the incoming Int_t timeshift_r; //timeshift of reflected wave with respect to the incoming Int_t timeshift_t; Double_t refl_coeff; Double_t trans_coeff; T30Event(); ~T30Event(); Waveform* AddWaveform(Waveform *waveform, UInt_t i); Waveform* AddWaveform(Double_t *waveform, UInt_t size, UInt_t i); Waveform* AddWaveform(Float_t *waveform, UInt_t size, UInt_t i); Double_t GetReflCoeff(); Double_t GetTransCoeff(); Double_t GetTimeShift_r(); Double_t GetTimeShift_t(); void CalcTimeShift(); void CalcMismatch(); Double_t GetMismatch(); Double_t GetMismatchErr(); Double_t CalcReflPowerErr(); void DrawAll(); void Draw(Double_t array[], TString opt = "", Color_t color = 1); Double_t* GetReflectedPower(Int_t shift = 0, Double_t scale = 1, Bool_t smooth = 0); Double_t* GetTransmittedPower(Int_t shift = 0, Double_t scale = 1, Bool_t smooth = 0); Bool_t IsBreakdown(); Bool_t IsGood(); Double_t* GetIncomingPower(); Double_t* GetRReflectionCoefficient(); Double_t* GetIReflectionCoefficient(); Double_t* GetReflectionCoefficient(); ClassDef(T30Event,1); }; #endif