]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/MUON/AliHLTMUONUtils.h
including extra debugging message
[u/mrichter/AliRoot.git] / HLT / MUON / AliHLTMUONUtils.h
index ee93a424b40b7c16f145dc852a9e0e2170bf5d08..205d9709321a86f93ad9c90d8eb9a7127fa02a40 100644 (file)
@@ -3,7 +3,7 @@
 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
-/* $Id$ */
+// $Id$
 
 ///
 /// @file   AliHLTMUONUtils.h
@@ -32,6 +32,8 @@ struct AliHLTMUONMansoTrackStruct;
 struct AliHLTMUONMansoTracksBlockStruct;
 struct AliHLTMUONMansoCandidateStruct;
 struct AliHLTMUONMansoCandidatesBlockStruct;
+struct AliHLTMUONTrackStruct;
+struct AliHLTMUONTracksBlockStruct;
 struct AliHLTMUONTrackDecisionStruct;
 struct AliHLTMUONSinglesDecisionBlockStruct;
 struct AliHLTMUONPairDecisionStruct;
@@ -62,9 +64,9 @@ public:
        /**
         * This unpacks the AliHLTMUONTriggerRecordStruct::fFlags bits into
         * its component fields.
-        * @param flags  The flags from an AliHLTMUONTriggerRecordStruct structure.
-        * @param sign    Sets this to the particle sign.
-        * @param hitset  Sets the array elements to indicate if the corresponding
+        * @param [in]  flags  The flags from an AliHLTMUONTriggerRecordStruct structure.
+        * @param [out] sign    Sets this to the particle sign.
+        * @param [out] hitset  Sets the array elements to indicate if the corresponding
         *                fHits[i] element was set/filled.
         */
        static void UnpackTriggerRecordFlags(
@@ -87,9 +89,9 @@ public:
        /**
         * This unpacks the AliHLTMUONRecHitStruct::fFlags bits into
         * its component fields.
-        * [in]  @param flags  The flags from an AliHLTMUONRecHitStruct structure.
-        * [out] @param chamber    Sets the chamber number in the range [0..13].
-        * [out] @param detElemId  Sets the detector element ID number.
+        * @param [in]  flags  The flags from an AliHLTMUONRecHitStruct structure.
+        * @param [out] chamber    Sets the chamber number in the range [0..13].
+        * @param [out] detElemId  Sets the detector element ID number.
         */
        static void UnpackRecHitFlags(
                        AliHLTUInt32_t flags, // [in]
@@ -97,6 +99,15 @@ public:
                        AliHLTUInt16_t& detElemId // [out]
                );
 
+       /**
+        * Returns the detector element ID from the flags bits.
+        * @param [in]  flags  The flags from an AliHLTMUONRecHitStruct structure.
+        */
+       static AliHLTUInt16_t GetDetElemIdFromFlags(AliHLTUInt32_t flags)
+       {
+               return flags & 0xFFF;
+       }
+
        /**
         * This packs the given parameters into the bits of a word appropriate
         * for AliHLTMUONMansoTrackStruct::fFlags.
@@ -115,9 +126,9 @@ public:
        /**
         * This unpacks the AliHLTMUONMansoTrackStruct::fFlags bits into
         * its component fields.
-        * @param flags  The flags from an AliHLTMUONMansoTrackStruct structure.
-        * @param sign    Sets this to the particle sign.
-        * @param hitset  Sets the array elements to indicate if the corresponding
+        * @param [in]  flags  The flags from an AliHLTMUONMansoTrackStruct structure.
+        * @param [out] sign    Sets this to the particle sign.
+        * @param [out] hitset  Sets the array elements to indicate if the corresponding
         *                fHits[i] element was set/filled.
         */
        static void UnpackMansoTrackFlags(
@@ -128,6 +139,32 @@ public:
        {
                UnpackTriggerRecordFlags(flags, sign, hitset);
        }
+
+       /**
+        * This packs the given parameters into the bits of a word appropriate
+        * for AliHLTMUONTrackStruct::fFlags.
+        * @param sign    The particle sign.
+        * @param hitset  Flags to indicate if the corresponding fHits[i] elements
+        *                was set/filled.
+        * @return  Returns the 32 bit packed word.
+        */
+       static AliHLTUInt32_t PackTrackFlags(
+                       AliHLTMUONParticleSign sign, const bool hitset[16]
+               );
+
+       /**
+        * This unpacks the AliHLTMUONTrackStruct::fFlags bits into
+        * its component fields.
+        * @param [in]  flags  The flags from an AliHLTMUONTrackStruct structure.
+        * @param [out] sign    Sets this to the particle sign.
+        * @param [out] hitset  Sets the array elements to indicate if the corresponding
+        *                fHits[i] element was set/filled.
+        */
+       static void UnpackTrackFlags(
+                       AliHLTUInt32_t flags, // [in]
+                       AliHLTMUONParticleSign& sign, // [out]
+                       bool hitset[16] // [out]
+               );
        
        /**
         * This packs the given parameters into the bits of a word appropriate
@@ -141,10 +178,10 @@ public:
        /**
         * This unpacks the AliHLTMUONTrackDecisionStruct::fTriggerBits bits into
         * its component fields.
-        * @param bits  The trigger bits from an AliHLTMUONTrackDecisionStruct
+        * @param [in] bits  The trigger bits from an AliHLTMUONTrackDecisionStruct
         *              structure.
-        * @param highPt Sets this to the value of the high pt cut bit.
-        * @param lowPt  Sets this to the value of the low pt cut bit.
+        * @param [out] highPt Sets this to the value of the high pt cut bit.
+        * @param [out] lowPt  Sets this to the value of the low pt cut bit.
         */
        static void UnpackTrackDecisionBits(
                        AliHLTUInt32_t bits, // [in]
@@ -176,13 +213,13 @@ public:
        /**
         * This unpacks the AliHLTMUONPairDecisionStruct::fTriggerBits bits into
         * its component fields.
-        * @param bits  The trigger bits from an AliHLTMUONPairDecisionStruct
+        * @param [in]  bits  The trigger bits from an AliHLTMUONPairDecisionStruct
         *              structure.
-        * @param highMass Sets this to the value of the high invariant mass cut bit.
-        * @param lowMass  Sets this to the value of the low invariant mass cut bit.
-        * @param unlike   Sets this if the pair is unlike sign.
-        * @param highPtCount Sets this to the high pt count bits.
-        * @param lowPtCount  Sets this to the low pt count bits.
+        * @param [out] highMass Sets this to the value of the high invariant mass cut bit.
+        * @param [out] lowMass  Sets this to the value of the low invariant mass cut bit.
+        * @param [out] unlike   Sets this if the pair is unlike sign.
+        * @param [out] highPtCount Sets this to the high pt count bits.
+        * @param [out] lowPtCount  Sets this to the low pt count bits.
         */
        static void UnpackPairDecisionBits(
                        AliHLTUInt32_t bits, // [in]
@@ -210,8 +247,8 @@ public:
        /**
         * This unpacks the AliHLTMUONPairDecisionStruct::fTriggerBits bits into
         * its component fields.
-        * @param bits  The Pub/Sub specification word from a data block descriptor.
-        * @param ddl  The output list of DDLs forming part of the readout. ddl[0]
+        * @param [in]  bits  The Pub/Sub specification word from a data block descriptor.
+        * @param [out] ddl  The output list of DDLs forming part of the readout. ddl[0]
         *             indicates DDL number 2560, ddl[1] is for DDL 2561 and so
         *             on up to ddl[19]. ddl[20] and ddl[21] will be for the
         *             trigger DDLs 2816 and 2817 respectively.
@@ -304,7 +341,7 @@ public:
         */
        static bool IsSpecValid(AliHLTUInt32_t spec)
        {
-               AliHLTUInt32_t mask = ~((1 << 22) - 1);  // First 22 bits indicate DDL number.
+               AliHLTUInt32_t mask = ~AliHLTUInt32_t((1 << 22) - 1);  // First 22 bits indicate DDL number.
                return (spec & mask) == 0x0;
        }
 
@@ -314,7 +351,7 @@ public:
         */
        static bool ContainsDataFromTrigger(AliHLTUInt32_t spec)
        {
-               AliHLTUInt32_t mask = ((1 << 22) - 1) & ~((1 << 20) - 1);
+               AliHLTUInt32_t mask = AliHLTUInt32_t((1 << 22) - 1) & ~AliHLTUInt32_t((1 << 20) - 1);
                return (spec & mask) != 0x0;
        }
 
@@ -324,7 +361,7 @@ public:
         */
        static bool ContainsDataFromTracker(AliHLTUInt32_t spec)
        {
-               AliHLTUInt32_t mask = ((1 << 20) - 1);
+               AliHLTUInt32_t mask = AliHLTUInt32_t((1 << 20) - 1);
                return (spec & mask) != 0x0;
        }
        
@@ -372,6 +409,8 @@ public:
                kDataWordDifferent, ///< The raw data word is different from the unpacked values.
                kChiSquareInvalid,  ///< The chi squared value must be a positive value or -1 indicating a fitting error.
                kMomentumVectorNotZero, ///< The chi sqaured value is set to -1, but momentum vector not zero.
+               kMomentumParamsNotZero, ///< The chi sqaured value is set to -1, but fitted momentum parameters are not zero.
+               kDCAVertexNotZero, ///< The chi sqaured value is set to -1, but DCA vertex is not zero.
                kRoiRadiusInvalid, ///< The region of interest radius is invalid.
                kHitNotWithinRoi, ///< A tracks hit is not within the corresponding region of interest.
                kPtValueNotValid,  ///< The pT value is not positive nor -1 indicating an invalid value.
@@ -400,8 +439,8 @@ public:
         * supposed type of the trigger records data block.
         * This method will return either kHeaderContainsWrongType or
         * kHeaderContainsWrongRecordWidth as the reason code.
-        * [in]  \param block  The data block to check.
-        * [out] \param reason  If this is not NULL, then the variable pointed to
+        * \param [in]  block  The data block to check.
+        * \param [out] reason  If this is not NULL, then the variable pointed to
         *      by this pointer will be filled with the reason code describing why
         *      the header is not valid, if and only if a problem is found with
         *      the data.
@@ -418,8 +457,8 @@ public:
         * supposed type of the trigger debug information data block.
         * This method will return either kHeaderContainsWrongType or
         * kHeaderContainsWrongRecordWidth as the reason code.
-        * [in]  \param block  The data block to check.
-        * [out] \param reason  If this is not NULL, then the variable pointed to
+        * \param [in]  block  The data block to check.
+        * \param [out] reason  If this is not NULL, then the variable pointed to
         *      by this pointer will be filled with the reason code describing why
         *      the header is not valid, if and only if a problem is found with
         *      the data.
@@ -436,8 +475,8 @@ public:
         * supposed type of the reconstructed hits data block.
         * This method will return either kHeaderContainsWrongType or
         * kHeaderContainsWrongRecordWidth as the reason code.
-        * [in]  \param block  The data block to check.
-        * [out] \param reason  If this is not NULL, then the variable pointed to
+        * \param [in]  block  The data block to check.
+        * \param [out] reason  If this is not NULL, then the variable pointed to
         *      by this pointer will be filled with the reason code describing why
         *      the header is not valid, if and only if a problem is found with
         *      the data.
@@ -454,8 +493,8 @@ public:
         * supposed type of the clusters data block.
         * This method will return either kHeaderContainsWrongType or
         * kHeaderContainsWrongRecordWidth as the reason code.
-        * [in]  \param block  The data block to check.
-        * [out] \param reason  If this is not NULL, then the variable pointed to
+        * \param [in]  block  The data block to check.
+        * \param [out] reason  If this is not NULL, then the variable pointed to
         *      by this pointer will be filled with the reason code describing why
         *      the header is not valid, if and only if a problem is found with
         *      the data.
@@ -472,8 +511,8 @@ public:
         * supposed type of the channels data block.
         * This method will return either kHeaderContainsWrongType or
         * kHeaderContainsWrongRecordWidth as the reason code.
-        * [in]  \param block  The data block to check.
-        * [out] \param reason  If this is not NULL, then the variable pointed to
+        * \param [in]  block  The data block to check.
+        * \param [out] reason  If this is not NULL, then the variable pointed to
         *      by this pointer will be filled with the reason code describing why
         *      the header is not valid, if and only if a problem is found with
         *      the data.
@@ -490,8 +529,8 @@ public:
         * supposed type of the Manso tracks data block.
         * This method will return either kHeaderContainsWrongType or
         * kHeaderContainsWrongRecordWidth as the reason code.
-        * [in]  \param block  The data block to check.
-        * [out] \param reason  If this is not NULL, then the variable pointed to
+        * \param [in]  block  The data block to check.
+        * \param [out] reason  If this is not NULL, then the variable pointed to
         *      by this pointer will be filled with the reason code describing why
         *      the header is not valid, if and only if a problem is found with
         *      the data.
@@ -508,8 +547,8 @@ public:
         * supposed type of the Manso candidates data block.
         * This method will return either kHeaderContainsWrongType or
         * kHeaderContainsWrongRecordWidth as the reason code.
-        * [in]  \param block  The data block to check.
-        * [out] \param reason  If this is not NULL, then the variable pointed to
+        * \param [in]  block  The data block to check.
+        * \param [out] reason  If this is not NULL, then the variable pointed to
         *      by this pointer will be filled with the reason code describing why
         *      the header is not valid, if and only if a problem is found with
         *      the data.
@@ -521,13 +560,31 @@ public:
                return HeaderOk(block, reason, count);
        }
        
+       /**
+        * Method used to check if the header information corresponds to the
+        * supposed type of the tracks data block given.
+        * This method will return either kHeaderContainsWrongType or
+        * kHeaderContainsWrongRecordWidth as the reason code.
+        * \param [in]  block  The data block to check.
+        * \param [out] reason  If this is not NULL, then the variable pointed to
+        *      by this pointer will be filled with the reason code describing why
+        *      the header is not valid, if and only if a problem is found with
+        *      the data.
+        * \returns  true if there is no problem with the header and false otherwise.
+        */
+       static bool HeaderOk(const AliHLTMUONTracksBlockStruct& block, WhyNotValid* reason = NULL)
+       {
+               AliHLTUInt32_t count = 1;
+               return HeaderOk(block, reason, count);
+       }
+       
        /**
         * Method used to check if the header information corresponds to the
         * supposed type of the single tracks dHLT trigger decision data block.
         * This method will return either kHeaderContainsWrongType or
         * kHeaderContainsWrongRecordWidth as the reason code.
-        * [in]  \param block  The data block to check.
-        * [out] \param reason  If this is not NULL, then the variable pointed to
+        * \param [in]  block  The data block to check.
+        * \param [out] reason  If this is not NULL, then the variable pointed to
         *      by this pointer will be filled with the reason code describing why
         *      the header is not valid, if and only if a problem is found with
         *      the data.
@@ -544,8 +601,8 @@ public:
         * supposed type of the track pairs dHLT trigger decision data block.
         * This method will return either kHeaderContainsWrongType or
         * kHeaderContainsWrongRecordWidth as the reason code.
-        * [in]  \param block  The data block to check.
-        * [out] \param reason  If this is not NULL, then the variable pointed to
+        * \param [in]  block  The data block to check.
+        * \param [out] reason  If this is not NULL, then the variable pointed to
         *      by this pointer will be filled with the reason code describing why
         *      the header is not valid, if and only if a problem is found with
         *      the data.
@@ -601,6 +658,11 @@ public:
                        WhyNotValid* reason, AliHLTUInt32_t& reasonCount
                );
        
+       static bool HeaderOk(
+                       const AliHLTMUONTracksBlockStruct& block,
+                       WhyNotValid* reason, AliHLTUInt32_t& reasonCount
+               );
+       
        static bool HeaderOk(
                        const AliHLTMUONSinglesDecisionBlockStruct& block,
                        WhyNotValid* reason, AliHLTUInt32_t& reasonCount
@@ -614,8 +676,8 @@ public:
        /**
         * This method is used to check more extensively if the integrity of the
         * trigger record structure is OK and returns true in that case.
-        * [in] \param tr  The trigger record structure to check.
-        * [out] \param reason  If this is not NULL, then it will be filled with
+        * \param [in]  tr  The trigger record structure to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
         *      the reason code describing why the structure is not valid, if and
         *      only if a problem is found with the data.
         * \returns  true if there is no problem with the structure and false otherwise.
@@ -632,11 +694,11 @@ public:
        /**
         * This method is used to check more extensively if the integrity of the
         * dHLT raw internal data block is OK and returns true in that case.
-        * [in] \param block  The trigger record data block to check.
-        * [out] \param reason  If this is not NULL, then it will be filled with
+        * \param [in]  block  The trigger record data block to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
         *      the reason code describing why the data block is not valid, if and
         *      only if a problem is found with the data.
-        * [out] \param recordNum  If this is not NULL, then it will be filled with
+        * \param [out] recordNum  If this is not NULL, then it will be filled with
         *      the number of the trigger record that had a problem. This value will
         *      only contain a valid value if the method RecordNumberWasSet(*reason)
         *      returns true. Thus, 'reason' must be set.
@@ -654,8 +716,8 @@ public:
        /**
         * This method is used to check more extensively if the integrity of the
         * trigger record debug information structure is OK and returns true in that case.
-        * [in] \param trigInfo  The trigger record debug information structure to check.
-        * [out] \param reason  If this is not NULL, then it will be filled with
+        * \param [in]  trigInfo  The trigger record debug information structure to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
         *      the reason code describing why the structure is not valid, if and
         *      only if a problem is found with the data.
         * \returns  true if there is no problem with the structure and false otherwise.
@@ -672,11 +734,11 @@ public:
        /**
         * This method is used to check more extensively if the integrity of the
         * dHLT raw internal data block is OK and returns true in that case.
-        * [in] \param block  The trigger record debugging information data block to check.
-        * [out] \param reason  If this is not NULL, then it will be filled with
+        * \param [in]  block  The trigger record debugging information data block to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
         *      the reason code describing why the data block is not valid, if and
         *      only if a problem is found with the data.
-        * [out] \param recordNum  If this is not NULL, then it will be filled with
+        * \param [out] recordNum  If this is not NULL, then it will be filled with
         *      the number of the trigger record debug information structure that had
         *      a problem. This value will only contain a valid value if the method
         *      RecordNumberWasSet(*reason) returns true. Thus, 'reason' must be set.
@@ -694,8 +756,8 @@ public:
        /**
         * This method is used to check more extensively if the integrity of the
         * reconstructed hit structure is OK and returns true in that case.
-        * [in] \param hit  The reconstructed hit structure to check.
-        * [out] \param reason  If this is not NULL, then it will be filled with
+        * \param [in]  hit  The reconstructed hit structure to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
         *      the reason code describing why the structure is not valid, if and
         *      only if a problem is found with the data.
         * \returns  true if there is no problem with the data and false otherwise.
@@ -712,11 +774,11 @@ public:
        /**
         * This method is used to check more extensively if the integrity of the
         * dHLT raw internal data block is OK and returns true in that case.
-        * [in] \param block  The reconstructed hits data block to check.
-        * [out] \param reason  If this is not NULL, then it will be filled with
+        * \param [in]  block  The reconstructed hits data block to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
         *      the reason code describing why the data block is not valid, if and
         *      only if a problem is found with the data.
-        * [out] \param recordNum  If this is not NULL, then it will be filled with
+        * \param [out] recordNum  If this is not NULL, then it will be filled with
         *      the number of the cluster structure that had a problem. This value
         *      will only contain a valid value if the method
         *      RecordNumberWasSet(*reason) returns true. Thus, 'reason' must be set.
@@ -734,8 +796,8 @@ public:
        /**
         * This method is used to check more extensively if the integrity of the
         * cluster data structure is OK and returns true in that case.
-        * [in] \param cluster  The cluster structure to check.
-        * [out] \param reason  If this is not NULL, then it will be filled with
+        * \param [in]  cluster  The cluster structure to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
         *      the reason code describing why the structure is not valid, if and
         *      only if a problem is found with the data.
         * \returns  true if there is no problem with the data and false otherwise.
@@ -752,11 +814,11 @@ public:
        /**
         * This method is used to check more extensively if the integrity of the
         * dHLT raw internal data block is OK and returns true in that case.
-        * [in] \param block  The clusters data block to check.
-        * [out] \param reason  If this is not NULL, then it will be filled with
+        * \param [in]  block  The clusters data block to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
         *      the reason code describing why the data block is not valid, if and
         *      only if a problem is found with the data.
-        * [out] \param recordNum  If this is not NULL, then it will be filled with
+        * \param [out] recordNum  If this is not NULL, then it will be filled with
         *      the number of the cluster structure that had a problem. This value
         *      will only contain a valid value if the method
         *      RecordNumberWasSet(*reason) returns true. Thus, 'reason' must be set.
@@ -774,8 +836,8 @@ public:
        /**
         * This method is used to check more extensively if the integrity of the
         * channel data structure is OK and returns true in that case.
-        * [in] \param cluster  The channel structure to check.
-        * [out] \param reason  If this is not NULL, then it will be filled with
+        * \param [in]  cluster  The channel structure to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
         *      the reason code describing why the structure is not valid, if and
         *      only if a problem is found with the data.
         * \returns  true if there is no problem with the data and false otherwise.
@@ -792,11 +854,11 @@ public:
        /**
         * This method is used to check more extensively if the integrity of the
         * dHLT raw internal data block is OK and returns true in that case.
-        * [in] \param block  The ADC channels data block to check.
-        * [out] \param reason  If this is not NULL, then it will be filled with
+        * \param [in]  block  The ADC channels data block to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
         *      the reason code describing why the data block is not valid, if and
         *      only if a problem is found with the data.
-        * [out] \param recordNum  If this is not NULL, then it will be filled with
+        * \param [out] recordNum  If this is not NULL, then it will be filled with
         *      the number of the channel structure that had a problem. This value
         *      will only contain a valid value if the method
         *      RecordNumberWasSet(*reason) returns true. Thus, 'reason' must be set.
@@ -814,8 +876,8 @@ public:
        /**
         * This method is used to check more extensively if the integrity of the
         * Manso track structure is OK and returns true in that case.
-        * [in] \param track  The Manso track structure to check.
-        * [out] \param reason  If this is not NULL, then it will be filled with
+        * \param [in]  track  The Manso track structure to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
         *      the reason code describing why the structure is not valid, if and
         *      only if a problem is found with the data.
         * \returns  true if there is no problem with the structure and false otherwise.
@@ -832,11 +894,11 @@ public:
        /**
         * This method is used to check more extensively if the integrity of the
         * dHLT raw internal data block is OK and returns true in that case.
-        * [in] \param block  The Manso track data block to check.
-        * [out] \param reason  If this is not NULL, then it will be filled with
+        * \param [in]  block  The Manso track data block to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
         *      the reason code describing why the data block is not valid, if and
         *      only if a problem is found with the data.
-        * [out] \param recordNum  If this is not NULL, then it will be filled with
+        * \param [out] recordNum  If this is not NULL, then it will be filled with
         *      the number of the Manso track structure that had a problem.
         *      This value will only contain a valid value if the method
         *      RecordNumberWasSet(*reason) returns true. Thus, 'reason' must be set.
@@ -854,8 +916,8 @@ public:
        /**
         * This method is used to check more extensively if the integrity of the
         * Manso track candidate structure is OK and returns true in that case.
-        * [in] \param candidate  The Manso track candidate structure to check.
-        * [out] \param reason  If this is not NULL, then it will be filled with
+        * \param [in]  candidate  The Manso track candidate structure to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
         *      the reason code describing why the structure is not valid, if and
         *      only if a problem is found with the data.
         * \returns  true if there is no problem with the structure and false otherwise.
@@ -872,11 +934,11 @@ public:
        /**
         * This method is used to check more extensively if the integrity of the
         * dHLT raw internal data block is OK and returns true in that case.
-        * [in] \param block  The Manso track candidate data block to check.
-        * [out] \param reason  If this is not NULL, then it will be filled with
+        * \param [in]  block  The Manso track candidate data block to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
         *      the reason code describing why the data block is not valid, if and
         *      only if a problem is found with the data.
-        * [out] \param recordNum  If this is not NULL, then it will be filled with
+        * \param [out] recordNum  If this is not NULL, then it will be filled with
         *      the number of the Manso track candidate structure that had a problem.
         *      This value will only contain a valid value if the method
         *      RecordNumberWasSet(*reason) returns true. Thus, 'reason' must be set.
@@ -891,11 +953,51 @@ public:
                return IntegrityOk(block, reason, recordNum, count);
        }
        
+       /**
+        * This method is used to check more extensively if the integrity of the
+        * full track structure is OK and returns true in that case.
+        * \param [in]  track  The track structure to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
+        *      the reason code describing why the structure is not valid, if and
+        *      only if a problem is found with the data.
+        * \returns  true if there is no problem with the structure and false otherwise.
+        */
+       static bool IntegrityOk(
+                       const AliHLTMUONTrackStruct& track,
+                       WhyNotValid* reason = NULL
+               )
+       {
+               AliHLTUInt32_t count = 1;
+               return IntegrityOk(track, reason, count);
+       }
+       
+       /**
+        * This method is used to check more extensively if the integrity of the
+        * dHLT raw internal data block is OK and returns true in that case.
+        * \param [in]  block  The track data block to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
+        *      the reason code describing why the data block is not valid, if and
+        *      only if a problem is found with the data.
+        * \param [out] recordNum  If this is not NULL, then it will be filled with
+        *      the number of the Manso track structure that had a problem.
+        *      This value will only contain a valid value if the method
+        *      RecordNumberWasSet(*reason) returns true. Thus, 'reason' must be set.
+        * \returns  true if there is no problem with the data and false otherwise.
+        */
+       static bool IntegrityOk(
+                       const AliHLTMUONTracksBlockStruct& block,
+                       WhyNotValid* reason = NULL, AliHLTUInt32_t* recordNum = NULL
+               )
+       {
+               AliHLTUInt32_t count = 1;
+               return IntegrityOk(block, reason, recordNum, count);
+       }
+       
        /**
         * This method is used to check more extensively if the integrity of the
         * single track trigger decision structure is OK and returns true in that case.
-        * [in] \param decision  The trigger decision structure to check.
-        * [out] \param reason  If this is not NULL, then it will be filled with
+        * \param [in]  decision  The trigger decision structure to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
         *      the reason code describing why the structure is not valid, if and
         *      only if a problem is found with the data.
         * \returns  true if there is no problem with the structure and false otherwise.
@@ -912,11 +1014,11 @@ public:
        /**
         * This method is used to check more extensively if the integrity of the
         * dHLT raw internal data block is OK and returns true in that case.
-        * [in] \param block  The single track trigger decision data block to check.
-        * [out] \param reason  If this is not NULL, then it will be filled with
+        * \param [in]  block  The single track trigger decision data block to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
         *      the reason code describing why the data block is not valid, if and
         *      only if a problem is found with the data.
-        * [out] \param recordNum  If this is not NULL, then it will be filled with
+        * \param [out] recordNum  If this is not NULL, then it will be filled with
         *      the number of the single track trigger decision structure that had
         *      a problem. This value will only contain a valid value if the method
         *      RecordNumberWasSet(*reason) returns true. Thus, 'reason' must be set.
@@ -934,8 +1036,8 @@ public:
        /**
         * This method is used to check more extensively if the integrity of the
         * track pair trigger decision structure is OK and returns true in that case.
-        * [in] \param decision  The trigger decision structure to check.
-        * [out] \param reason  If this is not NULL, then it will be filled with
+        * \param [in]  decision  The trigger decision structure to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
         *      the reason code describing why the structure is not valid, if and
         *      only if a problem is found with the data.
         * \returns  true if there is no problem with the structure and false otherwise.
@@ -952,11 +1054,11 @@ public:
        /**
         * This method is used to check more extensively if the integrity of the
         * dHLT raw internal data block is OK and returns true in that case.
-        * [in] \param block  The track pair trigger decision data block to check.
-        * [out] \param reason  If this is not NULL, then it will be filled with
+        * \param [in]  block  The track pair trigger decision data block to check.
+        * \param [out] reason  If this is not NULL, then it will be filled with
         *      the reason code describing why the data block is not valid, if and
         *      only if a problem is found with the data.
-        * [out] \param recordNum  If this is not NULL, then it will be filled with
+        * \param [out] recordNum  If this is not NULL, then it will be filled with
         *      the number of the track pairs trigger decision structure that had
         *      a problem. This value will only contain a valid value if the method
         *      RecordNumberWasSet(*reason) returns true. Thus, 'reason' must be set.
@@ -1055,6 +1157,17 @@ public:
                        AliHLTUInt32_t& reasonCount
                );
        
+       static bool IntegrityOk(
+                       const AliHLTMUONTrackStruct& track,
+                       WhyNotValid* reason, AliHLTUInt32_t& reasonCount
+               );
+       
+       static bool IntegrityOk(
+                       const AliHLTMUONTracksBlockStruct& block,
+                       WhyNotValid* reason, AliHLTUInt32_t* recordNum,
+                       AliHLTUInt32_t& reasonCount
+               );
+       
        static bool IntegrityOk(
                        const AliHLTMUONTrackDecisionStruct& decision,
                        WhyNotValid* reason, AliHLTUInt32_t& reasonCount