]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
New Raw Data format implemented
authorcheynis <cheynis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 20 Feb 2008 14:43:56 +0000 (14:43 +0000)
committercheynis <cheynis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 20 Feb 2008 14:43:56 +0000 (14:43 +0000)
VZERO/AliVZERORawStream.h

index 5d3af18cc8b4df65f4bd999fbf55db722e51fd6e..83d18fa1cd672696e1d63dd054dc88fef0cedc6f 100644 (file)
@@ -20,21 +20,48 @@ class AliVZERORawStream: public TObject {
     AliVZERORawStream(AliRawReader* rawReader);
     virtual ~AliVZERORawStream();
 
-    virtual void             Reset();
-    virtual Bool_t           Next();
-
-    UShort_t                 GetADC(Int_t channel) const
+    virtual void      Reset();
+    virtual Bool_t    Next();
+
+// Getters of various scalers and Minimum Bias flags :
+
+   ULong64_t          GetBBScalers(Int_t channel) const  
+      { return        fBBScalers[channel]; }
+   ULong64_t          GetBGScalers(Int_t channel) const  
+      { return        fBGScalers[channel]; }
+   UInt_t             GetTriggerScalers(Int_t num_scaler) const 
+      { return        fScalers[num_scaler]; }
+   UInt_t             GetBunchNumbersMB(Int_t num_bunch) const 
+      { return        fBunchNumbers[num_bunch]; }
+   UShort_t           GetChargeMB(Int_t channel, Int_t num_bunch) const  
+      { return        fChargeMB[channel][num_bunch]; } 
+   Bool_t             GetIntMBFlag(Int_t channel, Int_t num_bunch) const   
+      { return        fIsIntMB[channel][num_bunch]; } 
+   Bool_t             GetBBMBFlag(Int_t channel, Int_t num_bunch) const   
+      { return        fIsBBMB[channel][num_bunch]; }  
+   Bool_t             GetBGMBFlag(Int_t channel, Int_t num_bunch) const   
+      { return        fIsBGMB[channel][num_bunch]; }      
+       
+// Getters of ADC signals, ADC pedestals, time information and corresponding flags :
+
+    UShort_t          GetADC(Int_t channel) const
       { return fADC[channel][kNEvOfInt/2]; }
-    UShort_t                 GetPedestal(Int_t channel, Int_t event) const
+    UShort_t          GetPedestal(Int_t channel, Int_t event) const
       { return fADC[channel][event]; }
-    UInt_t                   GetTime(Int_t channel) const
+    Bool_t            GetIntegratorFlag(Int_t channel, Int_t event) const
+      { return fIsInt[channel][event]; }
+    Bool_t            GetBBFlag(Int_t channel, Int_t event) const
+      { return fIsBB[channel][event]; } 
+    Bool_t            GetBGFlag(Int_t channel, Int_t event) const
+      { return fIsBG[channel][event]; }   
+    UInt_t            GetTime(Int_t channel) const
       { return fTime[channel]; }
 
     enum EVZERORawDataParams {
-      kNChannels = 64,
-      kNEvOfInt  = 21, // Number of events of interest
-      kNScalers  = 16,
-      kNBunches  = 10
+      kNChannels = 64, // number of electronic channels in V0
+      kNEvOfInt  = 21, // number of events of interest
+      kNScalers  = 16, // number of scalers
+      kNBunches  = 10  // number of bunches used in Minimum Bias information 
     };
 
     enum EVZERORawStreamError {
@@ -49,30 +76,30 @@ class AliVZERORawStream: public TObject {
     UInt_t GetNextWord();
     UShort_t GetNextShort();
 
-    ULong64_t       fBBScalers[kNChannels];       // 'Beam-Beam' scalers for all channels
-    ULong64_t       fBGScalers[kNChannels];       // 'Beam-Gas' scalers for all channels
-    UInt_t          fScalers[kNScalers];          // Trigger scalers
-    UInt_t          fBunchNumbers[kNBunches];     // Bunch numbers for the previous 10 MB events
-    UShort_t        fChargeMB[kNChannels][kNBunches]; // ADC counts for all channels for the previous 10 MB events
-    Bool_t          fIsIntMB[kNChannels][kNBunches];  // 'Integrator' flag for all channels for the previous 10 MB events
-    Bool_t          fIsBBMB[kNChannels][kNBunches];   // 'Beam-Beam' flag for all channels for the previous 10 MB events
-    Bool_t          fIsBGMB[kNChannels][kNBunches];   // 'Beam-Gas' for all channels for the previous 10 MB events
+    ULong64_t     fBBScalers[kNChannels];        // 'Beam-Beam' scalers for all channels
+    ULong64_t     fBGScalers[kNChannels];        // 'Beam-Gas' scalers for all channels
+    UInt_t        fScalers[kNScalers];           // Trigger scalers
+    UInt_t        fBunchNumbers[kNBunches];      // Bunch numbers for the previous 10 MB events
+    UShort_t      fChargeMB[kNChannels][kNBunches]; // ADC counts for all channels for the previous 10 MB events
+    Bool_t        fIsIntMB[kNChannels][kNBunches];  // 'Integrator' flag for all channels for the previous 10 MB events
+    Bool_t        fIsBBMB[kNChannels][kNBunches];   // 'Beam-Beam' flag for all channels for the previous 10 MB events
+    Bool_t        fIsBGMB[kNChannels][kNBunches];   // 'Beam-Gas' for all channels for the previous 10 MB events
 
-    UShort_t        fADC[kNChannels][kNEvOfInt];   // ADC counts for all channels and all events of interest
-    Bool_t          fIsInt[kNChannels][kNEvOfInt]; // 'Integrator' flag for all channels
-    Bool_t          fIsBB[kNChannels][kNEvOfInt];  // 'Beam-Beam' flag for all channels
-    Bool_t          fIsBG[kNChannels][kNEvOfInt];  // 'Beam-Gas' flag for all channels
-    Int_t           fTime[kNChannels];             // leading time for all channels
-    Int_t           fWidth[kNChannels];            // signal width for all channels
+    UShort_t      fADC[kNChannels][kNEvOfInt];   // ADC counts for all channels and all events of interest
+    Bool_t        fIsInt[kNChannels][kNEvOfInt]; // 'Integrator' flag for all channels 
+    Bool_t        fIsBB[kNChannels][kNEvOfInt];  // 'Beam-Beam' flag for all channels
+    Bool_t        fIsBG[kNChannels][kNEvOfInt];  // 'Beam-Gas' flag for all channels
+    Int_t         fTime[kNChannels];             // leading time for all channels - from HPTDC
+    Int_t         fWidth[kNChannels];            // signal width for all channels - from HPTDC
 
-    UShort_t        fTrigger;      // VZERO trigger inputs
-    UShort_t        fTriggerMask;  // VZERO trigger inputs mask
+    UShort_t      fTrigger;        // VZERO trigger inputs
+    UShort_t      fTriggerMask;    // VZERO trigger inputs mask
 
-    Int_t           fPosition;     // current position in the raw-data payload
+    Int_t         fPosition;       // current position in the raw-data payload
 
-    AliRawReader*   fRawReader;    // object for reading the raw data
+    AliRawReader* fRawReader;      // object for reading the raw data
 
-    UChar_t*        fData;         // pointer to raw data payload
+    UChar_t*      fData;           // pointer to raw data payload
 
     ClassDef(AliVZERORawStream, 0) // class for reading VZERO DDL raw data
 };