]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/MUON/AliHLTMUONDataTypes.h
Enlarging window for DCS DPs retrieval for short runs for GRP + Keeping connection...
[u/mrichter/AliRoot.git] / HLT / MUON / AliHLTMUONDataTypes.h
index 260be869bb79176d02733036d66c1d1e05563672..2e938b489f550b29a0f1f032d182314cdacb4158 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-/* $Id$ */
+// $Id$
 
 /**
  * @file   AliHLTMUONDataTypes.h
  * @author Artur Szostak <artursz@iafrica.com>
- * @date   
+ * @date   18 May 2007
  * @brief  Declaration of basic data types used in HLT/MUON module.
  *
  * The types and structs are defined with C linkage since C generally gives us
@@ -56,6 +56,7 @@ struct AliHLTMUONHitRecoLutRow
        AliHLTInt32_t fIX, fIY;    // The X,Y number of the pad.
        AliHLTFloat32_t fRealX, fRealY, fRealZ;  // The real coordinate of the pad.
        AliHLTFloat32_t fHalfPadSize; // half padsize in X for bending and Y for nonbending
+       AliHLTFloat32_t fPadSizeXY; // padsize in Y for bending plane and X for nonbending
        AliHLTInt32_t fPlane;  // The plane and PCB zone ID numbers.
        AliHLTFloat32_t fPed, fSigma, fA0, fA1; // Calibration values
        AliHLTInt32_t fThres, fSat; //Calibration values
@@ -67,11 +68,33 @@ struct AliHLTMUONHitRecoLutRow
  */
 struct AliHLTMUONTriggerRecoLutRow
 {
+       AliHLTUInt32_t fIdFlags;  /// The chamber and detector element identifier packed in AliHLTMUONRecHitStruct::fFlags format.
        AliHLTFloat32_t fX;  // Global X coordinate of channel.
        AliHLTFloat32_t fY;  // Global Y coordinate of channel.
        AliHLTFloat32_t fZ;  // Global Z coordinate of channel.
 };
 
+/**
+ * The lookup table structure for the AliHLTMUONTriggerReconstructor component.
+ * The LUT is used for translating from channel addresses to geometrical positions
+ * and other relevant information of the strips in the trigger chambers.
+ */
+struct AliHLTMUONTriggerRecoLookupTable
+{
+       // The dimentions of the LUT are as follows:
+       // [trigger crate ID][local board ID][chamber][cathode - X/Y][bit set in bit pattern]
+       // - The trigger crate ID comes form the regional headers in the DDL payload.
+       // - Local board ID numbers come from the local trigger structures in the
+       //   DDL payload.
+       // - The chamber is for chambers 11 to 14 coded as [0..3], 0 for chamber 11,
+       //   1 for chamber 12 etc.
+       // - The cathode 0 is for the X trigger strips (bending plane) and 1 is
+       //   for the Y strips (non-bending plane).
+       // - The "bit set in pattern" indicates the bit number that was set in
+       //   the strip patterns found in the local structures of the DDL payload.
+       AliHLTMUONTriggerRecoLutRow fRow[16][16][4][2][16];
+};
+
 } // extern "C"
 
 
@@ -115,12 +138,12 @@ enum AliHLTMUONDataBlockType
        kUnknownDataBlock = 0,
        kTriggerRecordsDataBlock = 1000,
        kTrigRecsDebugDataBlock = 1001,
-       kTriggerChannelsDataBlock = 1002,
        kRecHitsDataBlock = 2000,
        kClustersDataBlock = 2001,
        kChannelsDataBlock = 2002,
        kMansoTracksDataBlock = 3000,
        kMansoCandidatesDataBlock = 3001,
+       kTracksDataBlock = 3100,
        kSinglesDecisionDataBlock = 4000,
        kPairsDecisionDataBlock = 4001
 };
@@ -181,12 +204,12 @@ inline std::ostream& operator << (std::ostream& stream, AliHLTMUONDataBlockType
        case kUnknownDataBlock:         stream << "kUnknownDataBlock";         break;
        case kTriggerRecordsDataBlock:  stream << "kTriggerRecordsDataBlock";  break;
        case kTrigRecsDebugDataBlock:   stream << "kTrigRecsDebugDataBlock";   break;
-       case kTriggerChannelsDataBlock: stream << "kTriggerChannelsDataBlock"; break;
        case kRecHitsDataBlock:         stream << "kRecHitsDataBlock";         break;
        case kClustersDataBlock:        stream << "kClustersDataBlock";        break;
        case kChannelsDataBlock:        stream << "kChannelsDataBlock";        break;
        case kMansoTracksDataBlock:     stream << "kMansoTracksDataBlock";     break;
        case kMansoCandidatesDataBlock: stream << "kMansoCandidatesDataBlock"; break;
+       case kTracksDataBlock:          stream << "kTracksDataBlock";          break;
        case kSinglesDecisionDataBlock: stream << "kSinglesDecisionDataBlock"; break;
        case kPairsDecisionDataBlock:   stream << "kPairsDecisionDataBlock";   break;
        default:                        stream << "INVALID";