//--------------------------------------------- // Go4 Tasca analysis // Author: Hans G. Essel // H.Essel@gsi.de // GSI, Experiment Electronics, Data Processing // modified by r.maendl // July 2021 - cleanup by JAM (j.adamczewski@gsi.de) //--------------------------------------------- #ifndef TascaUnpackEVENT_H #define TascaUnpackEVENT_H #include "TGo4EventElement.h" #define Strips 48 class TascaUnpackProc; class TGo4FileSource; class TascaUnpackEvent: public TGo4EventElement { public: TascaUnpackEvent(); TascaUnpackEvent(const char* name); virtual ~TascaUnpackEvent(); /** * Method called by the event owner (analysis step) to fill the * event element from the set event source. Event source can * be the source of the analysis step (if this is a raw event) * or the event processor (if this is a reduced event). */ Int_t Fill(); /** * Method called by the event owner (analysis step) to clear the * event element. */ void Clear(Option_t *t = "") { memset((void*) &ffStopXL[0], 0, sizeof(ffStopXL)); memset((void*) &ffStopYL[0], 0, sizeof(ffStopYL)); memset((void*) &fiStopXL_TAC[0], 0, sizeof(fiStopXL_TAC)); memset((void*) &fiStopYL_TAC[0], 0, sizeof(fiStopYL_TAC)); memset((void*) &fiStopXL_hit[0], 0, sizeof(fiStopXL_hit)); memset((void*) &fiStopYL_hit[0], 0, sizeof(fiStopYL_hit)); memset((void*) &fiStopXL_hit_TAC[0], 0, sizeof(fiStopXL_hit_TAC)); memset((void*) &fiStopYL_hit_TAC[0], 0, sizeof(fiStopYL_hit_TAC)); memset((void*) &ffStopXH[0], 0, sizeof(ffStopXH)); memset((void*) &ffStopYH[0], 0, sizeof(ffStopYH)); memset((void*) &ffGammaE[0], 0, sizeof(ffGammaE)); memset((void*) &fiGammaT[0], 0, sizeof(fiGammaT)); memset((void*) &ffGammaE_hit[0], 0, sizeof(ffGammaE)); memset((void*) &fiGammaT_hit[0], 0, sizeof(fiGammaT)); fiSystemSec = 0; fiSystemMysec = 0; fiTimeStamp = 0; fiTACbit = 0; fievent_number = 0; fiMicro = 0; fiMacro = 0; fiOverFlow = 0; fiChopper = 0; ffChopper_Amp = 0; //ADN fiChopper_hit_time = 0; //ADN fiChopper_SystemSec = 0; //ADN } Int_t Init(); ULong64_t fiSystemSec; UInt_t fiSystemMysec; UInt_t fiTimeStamp; Float_t ffChopper_Amp; //ADN UInt_t fiChopper_hit_time; //ADN ULong64_t fiChopper_SystemSec; //ADN // Data fields of detectors Float_t ffStopXL[48]; Float_t ffStopYL[96]; Float_t ffStopYH[96]; Float_t ffStopXH[48]; // Float_t ffStopYH[192]; UInt_t fiOverFlow; Int_t fiStopXL_hit[48]; Int_t fiStopYL_hit[96]; Int_t fiStopXL_hit_TAC[48]; Int_t fiStopYL_hit_TAC[96]; // Int_t fiYLSatTime[49]; Int_t fiStopXL_TAC[48]; Int_t fiStopYL_TAC[96]; // UInt_t fiShape[2][2][8][3000]; // index of maximum hit, if we had more than one hit // UInt_t fiSFP; // UInt_t fiFEBEX; // UInt_t fiCHAN; // UInt_t fiStopXLhitI; // UInt_t fiStopXHhitI; // UInt_t fiStopYLhitI; // UInt_t fiStopYHhitI; // UInt_t fiBackHhitI; // UInt_t fiBackLhitI; // UInt_t fiVetoHhitI; // UInt_t fiVetoLhitI; // // value of maximum hit, if we had more than one hit // UInt_t fiStopXLhitV; // UInt_t fiStopXHhitV; // UInt_t fiStopYLhitV; // UInt_t fiStopYHhitV; // UInt_t fiBackHhitV; // UInt_t fiBackLhitV; // UInt_t fiVetoHhitV; // UInt_t fiVetoLhitV; UInt_t fievent_number; // UInt_t fiMpxi[40]; Int_t fiGammaT[7]; Float_t ffGammaE[7]; Int_t fiGammaT_hit[7]; Int_t ffGammaE_hit[7]; // UInt_t fiGammaQ[8]; Int_t fiTACbit; // Int_t fiTAC[192]; UInt_t fiTofEL; UInt_t fiTofEH; UInt_t fiTarget; UInt_t fiMacro; UInt_t fiMicro; UInt_t fiChopper; UInt_t fiShutoff; Bool_t fisTof; Bool_t fisChopper; Bool_t fisMacro; Bool_t fisMicro; private: TascaUnpackProc * fxTascaEP; //! Don't put this to file TGo4FileSource * fxTascaFS; //! Don't put this to file ClassDef(TascaUnpackEvent,1) }; #endif //TascaEVENT_H