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