// //
///////////////////////////////////////////////////////////////////////////////
-#include <Riostream.h>
-#include <TTree.h>
+//#include <Riostream.h>
+//#include <TTree.h>
#include <TMap.h>
#include "AliT0.h"
#include "AliT0RawData.h"
#include "AliRunLoader.h"
#include "AliDAQ.h"
#include "AliT0LookUpValue.h"
+#include "AliT0LookUpKey.h"
ClassImp(AliT0RawData)
AliT0LookUpKey* lookkey= new AliT0LookUpKey();
AliT0LookUpValue* lookvalue= new AliT0LookUpValue();
TMap *lookup = fParam->GetMapLookup();
- TMapIter *iter = new TMapIter(lookup);
+ TMapIter iter(lookup);
for( Int_t iline=0; iline<106; iline++)
{
- lookvalue = ( AliT0LookUpValue*) iter->Next();
+ lookvalue = ( AliT0LookUpValue*) iter.Next();
lookkey = (AliT0LookUpKey*) lookup->GetValue(lookvalue);
fLookUp.Add(lookkey, lookvalue);
lookkey= new AliT0LookUpKey();
allData->AddAt(mult0,55);
allData->AddAt(mult1,56);
- // cout.setf( ios_base::hex, ios_base::basefield );
+ cout.setf( ios_base::hex, ios_base::basefield );
//space for DRM header
fIndex += 6;
positionOfTRMHeader= fIndex;
//space for chain header
fIndex ++;
- WriteChainDataHeader(0, 0); //
+ WriteChainDataHeader(1, 1); //
+
+ // fIndex++;
// Loop through all PMT
Int_t chain=0;
Int_t iTDC = 0;
Int_t channel=0;
Int_t trm1words=0;
- Int_t itrm=0, oldtrm=0;
+ Int_t itrm=7;
+ Int_t inside =0;
+ Int_t isData = 0;
AliT0LookUpKey * lookkey = new AliT0LookUpKey();
AliT0LookUpValue * lookvalue ;//= new AliT0LookUpValue(trm,tdc,chain,channel);
for (Int_t det = 0; det < 105; det++) {
lookvalue = (AliT0LookUpValue*) fLookUp.GetValue((TObject*)lookkey);
if (lookvalue )
{
+ isData++;
itrm= lookvalue->GetTRM();
- if (itrm != oldtrm ) {
+ if (det >56 &&inside ==0) {
WriteChainDataTrailer(1); // 1st chain trailer
fIndex++;
- WriteChainDataHeader(2, 1); //
- WriteChainDataTrailer(3); // 2st chain trailer
- WriteTrailer(15,0,fEventNumber,5); // 1st TRM trailer
-
-
- trm1words = fIndex - startTRM;
- WriteTRMDataHeader(oldtrm, trm1words , positionOfTRMHeader);
- //space for 2st TRM header
- startTRM=fIndex;
- fIndex ++;
- positionOfTRMHeader= fIndex;
- fIndex ++;
- oldtrm=itrm;
+ WriteChainDataHeader(2, 1);
+ // fIndex++;
+ inside++;
}
chain = lookvalue->GetChain();
iTDC = lookvalue->GetTDC();
}
}
-
- WriteChainDataTrailer(1); // 1st chain trailer
- fIndex++;
- WriteChainDataHeader(2, 1); //
+ if (inside==0) {
+ WriteChainDataTrailer(1); // 1st chain trailer
+ fIndex++;
+ WriteChainDataHeader(2, 1);
+ }
+ // WriteChainDataHeader(2, 1); //
WriteChainDataTrailer(3); // 2st chain trailer
WriteTrailer(15,0,fEventNumber,5); // 1st TRM trailer
trm1words = fIndex - startTRM;
//space for 2st TRM header
- WriteTRMDataHeader(1, trm1words , positionOfTRMHeader);
+ WriteTRMDataHeader(itrm, trm1words , positionOfTRMHeader);
//DRM trailer
- WriteTrailer(1,0,fEventNumber,5); // 1st TRM trailer
+ WriteTrailer(1,0,fEventNumber,5);
WriteDRMDataHeader();
word=4;
PackWord(baseWord,word,28,31); // 0100 marks header
fBuffer[positionOfTRMHeader] = baseWord;
-
+// cout<<" TRM header "<<baseWord<<endl;
word=0;
baseWord=0;
word=chainNumber;
PackWord(baseWord,word,28,31); // 0100 marks header
fBuffer[fIndex] = baseWord;
-
+ //cout<<" chain header "<<baseWord<<" number "<<chainNumber<<endl;
word=0;
baseWord=0;
PackWord(baseWord,word,28,31); // chain number
fIndex++;
fBuffer[fIndex] = baseWord;
-
+ // cout<<" chain trailer "<<baseWord<<endl;
word=0;
baseWord=0;
void AliT0RawData::WriteTrailer(UInt_t slot, Int_t word1, UInt_t word2, UInt_t word3)
{
+//Write a (dummy or real) DDL Chain data trailer
UInt_t word;
UInt_t baseWord=0;
PackWord(baseWord,word,28,31); // marks trailer
fIndex++;
fBuffer[fIndex] = baseWord;
+ // cout<<" trailer "<<baseWord<<endl;
word=0;
baseWord=0;
//---------------------------------------------------------------------------------------
void AliT0RawData::FillTime(Int_t ch, Int_t iTDC, Int_t time)
{
+ // put all time fields thother in 1 word
+
UInt_t word;
UInt_t baseWord=0;
PackWord(baseWord,word, 31, 31); // 1
fIndex++;
fBuffer[fIndex]=baseWord;
- word=0;
+ // cout<<" data "<<baseWord<<endl; word=0;
baseWord=0;
}
//---------------------------------------------------------------------------------------