/* $Id$ Author: Constantin Loizides */ #include #include #include #include "AliL3AltroMemHandler.h" /** \class AliL3AltroMemHandler // Converts digits in memory into a backlinked ALTRO like data format. // Its output file is used as input to the various VHDL testbenches. // The file misc/read.cxx shows how to use this class. */ ClassImp(AliL3AltroMemHandler) AliL3AltroMemHandler::AliL3AltroMemHandler(){ Clear(); }; void AliL3AltroMemHandler::Clear(){ memset(altromem,0,ALTRO_SIZE); memset(times_per_pad,0,1024); memset(charges_per_pad,0,1024); counter=ALTRO_SIZE; tcounter=0; lpad=0; lrow=0; flag=kFALSE; }; void AliL3AltroMemHandler::Write(UShort_t row, UChar_t pad, UShort_t charge, UShort_t time) { if(tcounter==0){ lrow=row; lpad=pad; } else if((lrow!=row) || (lpad!=pad)){ MakeAltroPackets(); //make packets Write(); //write packets Clear(); //clear up for next pad lrow=row; lpad=pad; } Add(charge,time); } void AliL3AltroMemHandler::Add(UShort_t charge, UShort_t time) { times_per_pad[tcounter]=time; charges_per_pad[tcounter]=charge; tcounter++; } void AliL3AltroMemHandler::MakeAltroPackets() { UShort_t i=0,j=0; UShort_t t=0,seqlength; UShort_t htime,ltime; int ddd=0; while(t0){ MakeAltroPackets(); Write(); } } /* Bool_t AliL3AltroMemHandler::SetBinaryInput(FILE *file){ fInBinary = file; if(!fInBinary){ //LOG(AliL3Log::kWarning,"AliL3AltroMem::SetBinaryInput","File Open")<<"Pointer to File = 0x0 "<