]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/TPCLib/AliHLTTPCDefinitions.h
bug fix - Adam
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCDefinitions.h
index 177364a4c933fa6948337c488f2e6f116d4aceaa..983b9513022f48cc80a4d1cbcc26093e95cb66dc 100644 (file)
@@ -36,6 +36,11 @@ public:
                {
                return (AliHLTUInt8_t)( (spec & 0xFF000000) >> 24 );
                }
+       static Int_t GetSingleSliceNr( const AliHLTComponentBlockData& block )
+               {
+               return GetSingleSliceNr(block.fSpecification);
+               }
+       static Int_t GetSingleSliceNr( ULong_t spec );
        static AliHLTUInt8_t GetMinPatchNr( const AliHLTComponentBlockData& block )
                {
                return (AliHLTUInt8_t)( (block.fSpecification & 0x000000FF) );
@@ -52,7 +57,11 @@ public:
                {
                return (AliHLTUInt8_t)( (spec & 0x0000FF00) >> 8 );
                }
-       
+       static Int_t GetSinglePatchNr( const AliHLTComponentBlockData& block )
+               {
+               return GetSinglePatchNr(block.fSpecification);
+               }
+       static Int_t GetSinglePatchNr( ULong_t spec );
        static AliHLTUInt32_t EncodeDataSpecification( AliHLTUInt8_t minSliceNr, 
                                                AliHLTUInt8_t maxSliceNr,
                                                AliHLTUInt8_t minPatchNr,
@@ -123,39 +132,68 @@ public:
   /** remaining clusters model data type */
   static const AliHLTComponentDataType fgkRemainingClustersModelDataType;      // see above
   static const AliHLTComponentDataType& RemainingClustersModelDataType();
-  /** cluster tracks compressed data type */
+  /** track clusters compressed data type */
   static const AliHLTComponentDataType fgkClusterTracksCompressedDataType;     // see above
   static const AliHLTComponentDataType& ClusterTracksCompressedDataType();
+  /** track cluster ids data type */
+  static const AliHLTComponentDataType& ClusterIdTracksDataType();
   /** remaining clusters compressed data type */
   static const AliHLTComponentDataType fgkRemainingClustersCompressedDataType; // see above
   static const AliHLTComponentDataType& RemainingClustersCompressedDataType();
+  /** remaining clusters ids data type */
+  static const AliHLTComponentDataType& RemainingClusterIdsDataType();
 
   // Calibration data
   /** pedestal calibration data */
-  static const AliHLTComponentDataType fgkCalibPedestalDataType;   // see above
   static const AliHLTComponentDataType& CalibPedestalDataType();
   /** signal calibration data */
-  static const AliHLTComponentDataType fgkCalibPulserDataType;     // see above
   static const AliHLTComponentDataType& CalibPulserDataType();
   /** central electrode calibration data */
-  static const AliHLTComponentDataType fgkCalibCEDataType;         // see above
   static const AliHLTComponentDataType& CalibCEDataType();
 
   // offline calbration components
 
   /** alignment calibration data */
-  static const AliHLTComponentDataType fgkOfflineCalibAlignDataType;         // see above
   static const AliHLTComponentDataType& OfflineCalibAlignDataType();
   /** track calibration data */
-  static const AliHLTComponentDataType fgkOfflineCalibTracksDataType;        // see above
   static const AliHLTComponentDataType& OfflineCalibTracksDataType();
   /** gain calibration data */
-  static const AliHLTComponentDataType fgkOfflineCalibTracksGainDataType;    // see above
   static const AliHLTComponentDataType& OfflineCalibTracksGainDataType();
   /** cluster monte carlo information */
   static const AliHLTComponentDataType fgkAliHLTDataTypeClusterMCInfo;    // see above
   static const AliHLTComponentDataType& AliHLTDataTypeClusterMCInfo();
 
+  // ids for the different parameters of a cluster
+  enum AliClusterParameterId_t {
+    kPadRow = 0,
+    kPad,
+    kTime,
+    kSigmaY2,
+    kSigmaZ2,
+    kCharge,
+    kQMax,
+    kResidualPad,
+    kResidualTime,
+    kClusterCount,
+    kLast = kQMax
+  };
+
+  // helper struct for the definition of cluster parameters
+  struct AliClusterParameter {
+    AliClusterParameterId_t fId; //! id of the parameter
+    const char* fName;           //! name of the parameter
+    int fBitLength;              //! bit length
+    int fOptional;               //! optional parameter
+    int fScale;                  //! scale for conversion to int number
+  };
+
+  static const AliClusterParameter fgkClusterParameterDefinitions[];
+  static unsigned GetNumberOfClusterParameterDefinitions();
+  static const unsigned fgkMaxClusterDeltaPad;
+  static unsigned GetMaxClusterDeltaPad() {return fgkMaxClusterDeltaPad;}
+  static const unsigned fgkMaxClusterDeltaTime;
+  static unsigned GetMaxClusterDeltaTime() {return fgkMaxClusterDeltaTime;}
+
 private:
 
   /// Do not allow creation of this class since everything is static.