]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/BASE/AliHLTDataTypes.h
Add missing libraries to resolve all symbols
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTDataTypes.h
index a5f80b1c8e4dece31b6f770df3d433c9079a9bb4..d5e7e32bac4e3066a319a911715292634b4559a7 100644 (file)
  *  14       Adding new data block type for HLT global trigger counters.
  *           Adding data block type for ESD content
  *           Adding data block type for forwarded component table blocks
+ *           Adding new event type for software triggers.
+ *  15       Modifying data block types for trigger counter blocks.
+ *  16       Adding data type for the meta data block to be forwarded by the
+ *           TCPDumpSubscriber for the Common Data Header (CDH) and readout
+ *           list information.
+ *  17       New CDH v3 (10 32bit words, 100 trigger classes, etc.)
  */
-#define ALIHLT_DATA_TYPES_VERSION 14
+#define ALIHLT_DATA_TYPES_VERSION 17
 
 //////////////////////////////////////////////////////////////////////////
 //
@@ -344,12 +350,32 @@ const int kAliHLTComponentDataTypefIDsize=8;
  */
 # define kAliHLTESDVertexDataTypeID    {'E','S','D','V','T','X','V','0'}
 
+/** KFVertex data block
+ * an AliKFVertex object of varying origin
+ * The 'V0' at the end allows a versioning
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTKFVertexDataTypeID    {'A','L','I','K','F','V','V','0'}
+
+
 /** output of the GlobalVertexer data block
  * The 'V0' at the end allows a versioning
  * @ingroup alihlt_component_datatypes
  */
 # define kAliHLTDataTypeGlobalVertexerID    {'G','L','B','V','T','X','V','0'}
 
+/** output of the PrimaryFinder data block
+ * The 'V0' at the end allows a versioning
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTDataTypePrimaryFinderID    {'P','R','I','V','T','X','V','0'}
+
+/** output of the V0Finder data block
+ * The 'V0' at the end allows a versioning
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTDataTypeV0FinderID    {'V','0','S','V','T','X','V','0'}
+
 /** ESD data block
  * an AliESD object of varying origin
  * The 'V0' at the end allows a versioning
@@ -357,6 +383,32 @@ const int kAliHLTComponentDataTypefIDsize=8;
  */
 # define kAliHLTESDObjectDataTypeID    {'A','L','I','E','S','D','V','0'}
 
+/** ESD friend data block
+ * an AliESDfriend object of varying origin
+ * The 'V0' at the end allows a versioning
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTESDfriendObjectDataTypeID    {'E','S','D','F','R','N','D','0'}
+
+/** Flat ESD Vertex data block
+ * The '0' at the end allows a versioning
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTFlatESDVertexDataTypeID    {'F','L','A','T','V','T','X','0'}
+
+/** Flat ESD data block
+ * an AliFlatESD object of varying origin
+ * The '0' at the end allows a versioning
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTFlatESDDataTypeID    {'F','L','A','T','E','S','D','0'}
+
+/** Flat ESD data block
+ * an AliFlatESDFriend object of varying origin
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTFlatESDFriendDataTypeID    {'F','L','A','T','F','R','N','D'}
+
 /** ESD 
  * data blocks designated for the ESD
  * @ingroup alihlt_component_datatypes
@@ -491,12 +543,6 @@ const int kAliHLTComponentDataTypefIDsize=8;
  */
 #define kAliHLTTNtupleDataTypeID              {'R','O','O','T','T','U','P','L'}
 
-/** HLT trigger counters.
- * - For the AliHLTTriggerCounters object. Normally with HLT as origin.
- * @ingroup alihlt_component_datatypes
- */
-# define kAliHLTTriggerCountersDataTypeID       {'T','R','G','C','O','U','N','T'}
-
 /** HLT Track
  * - Struct for Tracks based on AliExternalTrackParam
  * - varying origin
@@ -528,7 +574,26 @@ const int kAliHLTComponentDataTypefIDsize=8;
  */
 # define kAliHLTdEdxDataTypeID {'D','E','D','X',' ',' ',' ',' '}
 
-using namespace std;
+/** dNdPt  data
+ * Common data type for the dNdPt output object
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTdNdPtDataTypeID {'D','N','D','P','T',' ',' ',' '}
+
+/** Global input trigger counters data block type.
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTInputTriggerCountersDataTypeID      {'I','N','T','R','G','C','N','T'}
+
+/** Global output trigger counters data block type.
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTOutputTriggerCountersDataTypeID     {'O','T','T','R','G','C','N','T'}
+
+/** Generic meta data block type ID.
+ * @ingroup alihlt_component_datatypes
+ */
+# define kAliHLTMetaDataTypeID                      {'M','E','T','A','D','A','T','A'}
 
 extern "C" {
   //////////////////////////////////////////////////////////////////////////
@@ -678,6 +743,9 @@ extern "C" {
     AliHLTComponentDataType fDataType;
     /** data specification of the data block */
     AliHLTUInt32_t fSpecification;
+
+    AliHLTComponentDataType GetDataType() const {return fDataType;}
+    AliHLTUInt32_t GetSpecification() const {return fSpecification;}
   };
 
   /**
@@ -763,14 +831,11 @@ extern "C" {
    */
   struct AliHLTComponentTableEntry
   {
-    /** Size of this structure in bytes. */
-    AliHLTUInt32_t fStructSize;
-    /** size of the array of parent ids */
-    AliHLTUInt16_t fNofParents;
-    /** size of the description string in the appended buffer */
-    AliHLTUInt8_t  fSizeDescription;
-    /** the strings: chain id, component args, reserved */
-    AliHLTUInt8_t  fBuffer[1];
+    AliHLTUInt32_t fStructSize;           /// Size of this structure in bytes.
+    AliHLTUInt32_t fLevel;                /// Indicates from which processing stage this information is from.
+    AliHLTUInt16_t fNofParents;           /// size of the array of parent ids
+    AliHLTUInt8_t  fSizeDescription;      /// size of the description string in the appended buffer
+    AliHLTUInt8_t  fBuffer[1];            /// the strings: chain id, component args, reserved
   };
 
   //////////////////////////////////////////////////////////////////////////
@@ -783,7 +848,9 @@ extern "C" {
   const int gkAliHLTBlockDAttributeCount = 8;
 
   /** field size of fCommonHeader */
-  const int gkAliHLTCommonHeaderCount = 8;
+  const int gkAliHLTCommonHeaderCountV2 = 8;
+  const int gkAliHLTCommonHeaderCountV3 = 10;
+  const int gkAliHLTCommonHeaderCount = gkAliHLTCommonHeaderCountV3;
 
   /** size of the DDL list first version */
   const int gkAliHLTDDLListSizeV0 = 30;
@@ -795,7 +862,12 @@ extern "C" {
   const int gkAliHLTDDLListSize = gkAliHLTDDLListSizeV1;
 
   /** Number of Trigger Classes of CTP in CDH */
-  const int gkNCTPTriggerClasses = 50;
+  const int gkNCTPTriggerClassesV2 = 50;
+  const int gkNCTPTriggerClassesV3 = 100;
+  const int gkNCTPTriggerClasses = gkNCTPTriggerClassesV3;
+
+  // make it also available as define for templates
+#define NCTPTRIGGERCLASSES 100
 
   /**
    * @struct AliHLTEventDDLV0
@@ -873,6 +945,8 @@ extern "C" {
   const AliHLTUInt32_t gkAliEventTypeCorruptID=8;
   /** Calibration eventType specification */ 
   const AliHLTUInt32_t gkAliEventTypeCalibration=16;
+  /** Software eventType specification */ 
+  const AliHLTUInt32_t gkAliEventTypeSoftware=24;
   /** DataReplay eventType specification */
   const AliHLTUInt32_t gkAliEventTypeDataReplay=32;
   /** Configuration eventType specification */
@@ -1031,16 +1105,51 @@ extern "C" {
    */
   extern const AliHLTComponentDataType kAliHLTDataTypeESDVertex;
 
-  /** global vertexer data specification, origin is 'any' 
+   /** KF vertex object data specification, origin is 'any'
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypeKFVertex;
+
+  /** global vertexer data specification, origin is 'any'
    * @ingroup alihlt_component_datatypes
    */
   extern const AliHLTComponentDataType kAliHLTDataTypeGlobalVertexer;
 
+  /** primary finder data specification, origin is 'any'
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypePrimaryFinder;
+
+  /** primary finder data specification, origin is 'any'
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypeV0Finder;
+
+  /** flat ESD object data specification, origin is 'any' 
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypeFlatESD;
+
+ /** flat ESD friend object data specification, origin is 'any' 
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypeFlatESDFriend;
+
+  /** flat ESD vertex object data specification, origin is 'any' 
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypeFlatESDVertex;
+
   /** ESD object data specification, origin is 'any' 
    * @ingroup alihlt_component_datatypes
    */
   extern const AliHLTComponentDataType kAliHLTDataTypeESDObject;
 
+  /** ESD friend object data specification, origin is 'any' 
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypeESDfriendObject;
+
   /** ESD content data specification, origin is 'any' 
    * @ingroup alihlt_component_datatypes
    */
@@ -1124,6 +1233,12 @@ extern "C" {
    */
   extern const AliHLTComponentDataType kAliHLTDataTypeComponentFwdTable;
 
+  /**
+   * Data type for the Common Data Header and readout list information sent by TCPDumpSubscriber.
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypeTriggerMetaBlock;     // {METADATA:PRIV}
+
   //////////////////////////////////////////////////////////////////////////
   //
   // Data Types for Monitoring objects
@@ -1160,10 +1275,17 @@ extern "C" {
    */                                                                  
   extern const AliHLTComponentDataType kAliHLTDataTypeTNtuple;           // {ROOTTUPL,"***"}
 
-  /** AliHLTTriggerCounters object for HLT global trigger counters.
+  /** Global input trigger counters.
+   * - origin : kAliHLTDataOriginOut ( HLT )
    * @ingroup alihlt_component_datatypes
-   */                                                                  
-  extern const AliHLTComponentDataType kAliHLTDataTypeTriggerCounters;           // {TRGCOUNT,"HLT "}
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypeInputTriggerCounters;     // {INTRGCNT:HLT }
+
+  /** Global output trigger counters.
+   * - origin : kAliHLTDataOriginOut ( HLT )
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypeOutputTriggerCounters;     // {OTTRGCNT:HLT }
 
   /** General track array for the barrel tracks based on AliExternalTrackParam
    * Data format defined by AliHLTTracksData
@@ -1194,6 +1316,11 @@ extern "C" {
    */  
   extern const AliHLTComponentDataType fgkITSTracksDataType;
 
+  /** Container of ITS SAP tracker data
+   * @ingroup alihlt_component_datatypes
+   */  
+  extern const AliHLTComponentDataType kAliHLTDataTypeITSSAPData;
+
   /** Container of calorimeter clusters
    * @ingroup alihlt_component_datatypes
    */  
@@ -1204,6 +1331,11 @@ extern "C" {
    */
   extern const AliHLTComponentDataType kAliHLTDataTypedEdx;
 
+  /** Container of dNdPt
+   * @ingroup alihlt_component_datatypes
+   */
+  extern const AliHLTComponentDataType kAliHLTDataTypedNdPt;
+
   //////////////////////////////////////////////////////////////////////////
   //
   // FXS subscriber meta information
@@ -1355,6 +1487,11 @@ extern "C" {
 
 }
 
+#include <bitset>  
+typedef std::bitset<NCTPTRIGGERCLASSES> AliHLTTriggerMask_t;
+
+using namespace std;
+
 //////////////////////////////////////////////////////////////////////////
 //
 // Data type helper functions