Updated trigger raw data format (Ch. Finck)
authorcussonno <cussonno@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 12 Oct 2004 12:10:35 +0000 (12:10 +0000)
committercussonno <cussonno@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 12 Oct 2004 12:10:35 +0000 (12:10 +0000)
MUON/AliMUONRawData.cxx
MUON/AliMUONSubEventTrigger.cxx
MUON/AliMUONSubEventTrigger.h

index a820618..a53023f 100644 (file)
@@ -431,7 +431,7 @@ Int_t AliMUONRawData::WriteTriggerDDL()
   Int_t index;
   Int_t iEntries = 0;
   Int_t iLocCard, locCard;
-  Char_t locDec, trigY, posY, devX, posX;
+  Char_t locDec, trigY, posY, devX, posX,regOut;
   Int_t version = 1; // software version
   Int_t eventType =1; // trigger type: 1 for physics ?
   Int_t serialNb = 0xF; // serial nb of card: all bits on for the moment
@@ -470,15 +470,17 @@ Int_t AliMUONRawData::WriteTriggerDDL()
 
       // Regional card header
       word = 0;
-      AliBitPacking::PackWord((UInt_t)serialNb,word,27,31); //see  AliMUONSubEventTrigger.h for details
-      AliBitPacking::PackWord((UInt_t)iReg,word,22,26);
-      AliBitPacking::PackWord((UInt_t)version,word,14,21);
+      regOut  = 0;
+      AliBitPacking::PackWord((UInt_t)serialNb,word,24,28); //see  AliMUONSubEventTrigger.h for details
+      AliBitPacking::PackWord((UInt_t)version,word,16,23);
+      AliBitPacking::PackWord((UInt_t)iReg,word,12,15);
+      AliBitPacking::PackWord((UInt_t)regOut,word,0,7); // whenever regional output will be implemented
+
       subEvent->SetRegWord(word);
       memcpy(&buffer[index++],subEvent->GetAddress(),4);
 
       buffer[index++] = 0;// 2 words of regional input
       buffer[index++] = 0;
-      buffer[index++] = 0;// regional output
 
       for (Int_t iLoc = 0; iLoc < 16; iLoc++) {
 
index 808490b..5146832 100644 (file)
@@ -20,8 +20,7 @@ ClassImp(AliMUONSubEventTrigger)
 //___________________________________________
 AliMUONSubEventTrigger::AliMUONSubEventTrigger()
   :  TObject(),
-     fRegWord(0),
-     fRegOutput(0)
+     fRegWord(0)
 {
   for (Int_t i = 0; i < 16*5; i++)
     fLocalData[i] = 0;
index bd6962e..2e18cdb 100644 (file)
@@ -15,13 +15,13 @@ public:
 
    UInt_t  GetRegWord() const {return fRegWord;}
    Int_t   GetRegInput(Int_t n)  const {return fRegInput[n];}
-   Int_t   GetRegOutput() const {return fRegOutput;}
    Int_t   GetLocalData(Int_t n)  const {return fLocalData[n];}
 
-   //serialNB:5,RegId:5,Version:8,MBZ:14
-   Char_t   GetSerialNb()  {return (Char_t)(fRegWord >> 27) &  0x1F;}
-   Char_t   GetRegId()     {return (Char_t)(fRegWord >> 22) &  0x1F;}
-   Char_t   GetVersion()   {return (Char_t)(fRegWord >> 14) &  0xFF;}
+   //MBZ:3,serialNb:5,Version:8,RegId:4,MBZ:4,RegOut:8
+   Char_t   GetSerialNb()  {return (Char_t)(fRegWord >> 24) &  0x1F;}
+   Char_t   GetVersion()   {return (Char_t)(fRegWord >> 16) &  0xFF;}
+   Char_t   GetRegId()     {return (Char_t)(fRegWord >> 12) &  0x0F;}
+   Char_t   GetRegOutput() {return (Char_t)(fRegWord)       &  0xFF;}
 
    UShort_t GetX2(Int_t n) {return (fLocalData[16*n]     >> 16) &  0xFFFF;}
    UShort_t GetX1(Int_t n) {return (fLocalData[16*n])           &  0xFFFF;}
@@ -42,7 +42,6 @@ public:
 
    void    SetRegWord(UInt_t w) {fRegWord = w;}
    void    SetRegInput(Int_t in, Int_t n) {fRegInput[n] = in;}
-   void    SetRegOutput(Int_t out) { fRegOutput = out;}  
    void    SetLocalData(Int_t d, Int_t n) {fLocalData[n] = d;}
    
    UInt_t* GetAddress() {return &fRegWord;}
@@ -50,10 +49,9 @@ public:
  private:
    
    UInt_t    fRegWord;          // first word
-   Int_t     fLocalData[16*5];  // local data
    Int_t     fRegInput[2];      // regional input
-   Int_t     fRegOutput;        // regional output
-   ClassDef(AliMUONSubEventTrigger,1)  // MUON Pad Hit
+   Int_t     fLocalData[16*5];  // local data
+    
+   ClassDef(AliMUONSubEventTrigger,2)  // MUON Pad Hit
 };
 #endif