00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "TXXXUnpackEvent.h"
00017
00018 #include "Riostream.h"
00019
00020 #include "TGo4FileSource.h"
00021 #include "TXXXUnpackProc.h"
00022
00023
00024
00025 TXXXUnpackEvent::TXXXUnpackEvent() :
00026 TGo4EventElement(),fxXXXEP(0),fxXXXFS(0)
00027 {
00028 }
00029
00030 TXXXUnpackEvent::TXXXUnpackEvent(const char* name) :
00031 TGo4EventElement(name),fxXXXEP(0),fxXXXFS(0)
00032 {
00033 }
00034
00035 TXXXUnpackEvent::~TXXXUnpackEvent()
00036 {
00037 }
00038
00039
00040
00041 Int_t TXXXUnpackEvent::Init()
00042 {
00043 Int_t rev=0;
00044
00045 Clear();
00046
00047 if(CheckEventSource("TXXXUnpackProc")){
00048 fxXXXEP = (TXXXUnpackProc*)GetEventSource();
00049 cout << "**** XXXUnpackEvent init for Unpack step"<< endl;
00050 }
00051
00052 else if(CheckEventSource("TGo4FileSource")){
00053 fxXXXFS = (TGo4FileSource*)GetEventSource();
00054 cout << "**** XXXUnpackEvent init for Analysis step"<< endl;
00055 }
00056 else rev=1;
00057 return rev;
00058 }
00059
00060 Int_t TXXXUnpackEvent::Fill()
00061 {
00062 Int_t rev=0;
00063 Clear();
00064 if(fxXXXEP)fxXXXEP->XXXUnpack(this);
00065 if(fxXXXFS)fxXXXFS->BuildEvent(this);
00066 return rev;
00067 }
00068
00069
00070 void TXXXUnpackEvent::Clear(Option_t *t)
00071 {
00072 void* destfield;
00073
00074 destfield = (void*) &fiCrate1[0];
00075 memset(destfield,0, sizeof(fiCrate1));
00076 destfield = (void*) &fiCrate2[0];
00077 memset(destfield,0, sizeof(fiCrate2));
00078 destfield = (void*) &fiCrate3[0];
00079 memset(destfield,0, sizeof(fiCrate3));
00080 destfield = (void*) &fiCrate4[0];
00081 memset(destfield,0, sizeof(fiCrate4));
00082
00083 }
00084
00085