adding method to retrieve trigger mask from RawReader
authorrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 7 Nov 2009 01:00:54 +0000 (01:00 +0000)
committerrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 7 Nov 2009 01:00:54 +0000 (01:00 +0000)
HLT/BASE/AliHLTMisc.cxx
HLT/BASE/AliHLTMisc.h
HLT/rec/AliHLTMiscImplementation.cxx
HLT/rec/AliHLTMiscImplementation.h

index f0298d0..686e8f4 100644 (file)
@@ -118,6 +118,12 @@ int AliHLTMisc::InitMagneticField() const
   return -EFAULT;
 }
 
+AliHLTUInt64_t AliHLTMisc::GetTriggerMask(AliRawReader* /*rawReader*/) const
+{
+  // default method, functionality is implemented in the child class
+  return 0;
+}
+
 ostream  &operator<<(ostream &out, const AliHLTComponentDataType &dt)
 {
   // printout of AliHLTComponentDataType struct
index 3300630..666af13 100644 (file)
 
 #include "TObject.h"
 #include "AliHLTStdIncludes.h"
+#include "AliHLTDataTypes.h"
 
 class AliCDBManager;
 class AliCDBEntry;
+class AliRawReader;
 class AliHLTComponentDataType;
 
 class AliHLTMisc : public TObject {
@@ -40,6 +42,8 @@ class AliHLTMisc : public TObject {
 
   virtual int InitMagneticField() const;
 
+  virtual AliHLTUInt64_t GetTriggerMask(AliRawReader* rawReader) const;
+
  private:
   static AliHLTMisc* fgInstance;
 
index 44a54ac..0451165 100644 (file)
@@ -27,6 +27,7 @@
 #include "AliCDBStorage.h"
 #include "AliCDBEntry.h"
 #include "AliGRPManager.h"
+#include "AliRawReader.h"
 #include "TGeoGlobalMagField.h"
 
 /** ROOT macro for the implementation of ROOT specific class methods */
@@ -129,3 +130,17 @@ int AliHLTMiscImplementation::InitMagneticField() const
 
   return -ENOENT;
 }
+
+AliHLTUInt64_t AliHLTMiscImplementation::GetTriggerMask(AliRawReader* rawReader) const
+{
+  // see header file for function documentation
+  if (!rawReader) return 0;
+  AliHLTUInt64_t trgMask=0;
+  if (rawReader) {
+    const UInt_t* pattern=rawReader->GetTriggerPattern();
+    trgMask=pattern[1]&0xfffffff; // 28 upper bits of the 50 bit mask
+    trgMask<<=32;
+    trgMask|=pattern[0]; // 32 lower bits of the mask
+  }
+  return trgMask;
+}
index a46b10e..833d979 100644 (file)
@@ -31,6 +31,8 @@ class AliHLTMiscImplementation : public AliHLTMisc
 
   int InitMagneticField() const;
 
+  AliHLTUInt64_t GetTriggerMask(AliRawReader* rawReader) const;
+
  private:
 
   ClassDef(AliHLTMiscImplementation, 0)