+Bool_t AliL3AltroMemHandler::Read(UShort_t &row, UChar_t &pad, UShort_t &time, UShort_t &charge)
+{
+ if(flag==kTRUE) {
+ LOG(AliL3Log::kWarning,"AliL3AltroMemHandler::Read","File Open")<<"Binary not supported!"<<ENDLOG;
+ return kFALSE;
+ }
+
+ if(feof(fInBinary)){
+ LOG(AliL3Log::kDebug,"AliL3AltroMemHandler::Read","File Open")<<"End of File!"<<ENDLOG;
+ return kFALSE;
+ }
+
+ unsigned int dummy,dummy1;
+
+ if(rcounter==0){
+ fscanf(fInBinary,"%x",&dummy);
+ rrow=(UShort_t)dummy;
+ fscanf(fInBinary,"%x",&dummy);
+ rpad=(UShort_t)dummy;
+ fscanf(fInBinary,"%x",&dummy);
+ rcounter=(UShort_t)dummy;
+ fscanf(fInBinary,"%x",&dummy);
+ if(dummy!=682){
+ if(feof(fInBinary)){
+ ClearRead();
+ return kFALSE;
+ } else {
+ LOG(AliL3Log::kError,"AliL3AltroMemHandler::Read","Trailer not found!")<<ENDLOG;
+ return kFALSE;
+ }
+ }
+ dummy1 = rcounter;
+ while(dummy1 % 4 != 0) {
+ fscanf(fInBinary,"%x",&dummy);
+ dummy1++;
+ }
+ }
+ if(scounter==0){
+ fscanf(fInBinary,"%x",&dummy);
+ scounter=(UShort_t)dummy-2;
+ fscanf(fInBinary,"%x",&dummy);
+ rtime=(UShort_t)dummy;
+ rcounter-=2;
+ }
+ fscanf(fInBinary,"%x",&dummy);
+
+ row=rrow;
+ pad=rpad;
+ time=rtime;
+ charge=(UShort_t)dummy;
+
+ scounter--;
+ rcounter--;
+ rtime--;
+ return kTRUE;
+}
+
+Bool_t AliL3AltroMemHandler::ReadSequence(UShort_t &row, UChar_t &pad, UShort_t &time, UChar_t &n, UShort_t **charges)
+{
+ if(flag==kTRUE) {
+ LOG(AliL3Log::kWarning,"AliL3AltroMemHandler::ReadSequence","File Open")<<"Binary not supported!"<<ENDLOG;
+ return kFALSE;
+ }
+
+ if(feof(fInBinary)){
+ LOG(AliL3Log::kDebug,"AliL3AltroMemHandler::ReadSequence","File Open")<<"End of File!"<<ENDLOG;
+ return kFALSE;
+ }
+
+ unsigned int dummy,dummy1,dummy2;
+
+ if(rcounter==0){
+ fscanf(fInBinary,"%x",&dummy);
+ rrow=(UShort_t)dummy;
+ fscanf(fInBinary,"%x",&dummy);
+ rpad=(UShort_t)dummy;
+ fscanf(fInBinary,"%x",&dummy);
+ rcounter=(UShort_t)dummy;
+ fscanf(fInBinary,"%x",&dummy);
+ if(dummy!=682){
+ if(feof(fInBinary)){
+ ClearRead();
+ return kFALSE;
+ } else {
+ LOG(AliL3Log::kError,"AliL3AltroMemHandler::ReadSequence","Format") <<"Trailer not found!"<<ENDLOG;
+ return kFALSE;
+ }
+ }
+ dummy1 = rcounter;
+ while(dummy1 % 4 != 0) {
+ fscanf(fInBinary,"%x",&dummy);
+ dummy1++;
+ }
+ }
+
+ fscanf(fInBinary,"%x",&dummy);
+ scounter=(UShort_t)dummy-2;
+ fscanf(fInBinary,"%x",&dummy);
+ rtime=(UShort_t)dummy;
+ rcounter-=2;
+
+ if(n<scounter){
+ if(*charges) delete[] *charges;
+ *charges=new UShort_t[scounter];
+ }
+
+ dummy2=0;
+ while(dummy2<scounter){
+ fscanf(fInBinary,"%x",&dummy);
+ (*charges)[dummy2]=(UShort_t)dummy;
+ dummy2++;
+ rcounter--;
+ }
+
+ row=rrow;
+ pad=rpad;
+ time=rtime;
+ n=scounter;
+ return kTRUE;
+}
+
+Bool_t AliL3AltroMemHandler::SetBinaryInput(FILE *file)
+{