]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/MUON/AliHLTMUONProcessor.h
HLTqadm
[u/mrichter/AliRoot.git] / HLT / MUON / AliHLTMUONProcessor.h
index 77b0a4df183612c122d63a09e2e6f7c695909c8d..36960fceb460c3588257fcb85a44aca5e30e89d2 100644 (file)
@@ -4,7 +4,7 @@
  * ALICE Experiment at CERN, All rights reserved.                         *
  * See cxx source for full Copyright notice                               */
 
-/* $Id: $ */
+// $Id: $
 
 ///
 /// @file   AliHLTMUONProcessor.h
@@ -26,7 +26,28 @@ class AliMUONRecoParam;
  * Some common methods useful to all dHLT specific components are implemented
  * by this class.
  *
- * @ingroup alihlt_dimuon_component
+ * The following argument can be inherited by components derived from the
+ * AliHLTMUONProcessor class, as long as the protected methods provided are used
+ * properly and the argument evaluation is handled as indicated in DoInit.
+ * \li -cdbpath <i>path</i> <br>
+ *      This allows one to override the path to use for the CDB location.
+ *      <i>path</i> must be a valid CDB URI. By default the HLT system framework
+ *      sets the CDB path. <br>
+ * \li -run <i>number</i> <br>
+ *      This allows one to override the run number to use. <i>number</i> must be
+ *      a positive integer number. By default the HLT system framework sets the
+ *      run number. <br>
+ * \li -delaysetup <br>
+ *      If indicated then part of the initialisation of the component is forcefully
+ *      delayed to the first event received, i.e. the Start-of-Run event. <br>
+ * \li -dumponerror <br>
+ *      This flag will cause the component to dump the data blocks it received if
+ *      an error occurs during the processing of an event. <br>
+ * \li -dumppath <i>path</i> <br>
+ *      Allows one to specify the path in which to dump the received data blocks
+ *      if an error occurs. <br>
+ *
+ * @ingroup alihlt_muon_components
  */
 class AliHLTMUONProcessor : public AliHLTProcessor
 {
@@ -186,6 +207,15 @@ protected:
                return BlockStructureOk(block, "Manso track candidates", checkHeader);
        }
 
+       /// Checks the structure of a tracks data block.
+       bool BlockStructureOk(
+                       const AliHLTMUONTracksBlockReader& block,
+                       bool checkHeader = true
+               ) const
+       {
+               return BlockStructureOk(block, "tracks", checkHeader);
+       }
+
        /// Checks the structure of a single track trigger decision data block.
        bool BlockStructureOk(
                        const AliHLTMUONSinglesDecisionBlockReader& block,
@@ -208,7 +238,7 @@ protected:
         * Sets the CDB path and run number to read from.
         * \param cdbPath  The CDB path to use. If set to NULL and the path has
         *      not been set in the CDB manager then the default path
-        *      "local://$ALICE_ROOT" is used if the 'useDefault' flag is also true.
+        *      "local://$ALICE_ROOT/OCDB" is used if the 'useDefault' flag is also true.
         * \param run  The run number to use. If set to -1 and the run number has
         *      not been set in the CDB manager then a value of zero is used if
         *      the 'useDefault' flag is also true.
@@ -233,8 +263,8 @@ protected:
        
        /**
         * Fetches a TMap object from the CDB.
-        * [in] \param pathToEntry  The relative path to the entry in the CDB to fetch.
-        * [out] \param map  This will be filled with the TMap object found if
+        * \param [in] pathToEntry  The relative path to the entry in the CDB to fetch.
+        * \param [out] map  This will be filled with the TMap object found if
         *      a successful status code is returned. Otherwise it will be unchanged.
         * \return Zero if the object could be found. Otherwise an error code,
         *      which is compatible with the HLT framework, is returned.
@@ -243,10 +273,10 @@ protected:
        
        /**
         * Tries to find the string value associated with a certain parameter in a TMap.
-        * [in] \param map  The TMap object to search in.
-        * [in] \param paramName  The name of the parameter to search for.
-        * [out] \param value  Will be filled with the object found.
-        * [in] \param prettyName  Should be the name of the parameter which will
+        * \param [in] map  The TMap object to search in.
+        * \param [in] paramName  The name of the parameter to search for.
+        * \param [out] value  Will be filled with the object found.
+        * \param [in] prettyName  Should be the name of the parameter which will
         *      be used when printing error messages. If this is set to NULL then
         *      the paramName will be used instead (default is NULL).
         * \return Zero if the object could be found. Otherwise an error code,
@@ -260,11 +290,11 @@ protected:
        /**
         * Tries to find a certain parameter in the TMap object and convert it to
         * an integer value.
-        * [in] \param map  The TMap object to search in.
-        * [in] \param paramName  The name of the parameter to search for.
-        * [out] \param value  Will be filled with the integer value for the parameter,
+        * \param [in] map  The TMap object to search in.
+        * \param [in] paramName  The name of the parameter to search for.
+        * \param [out] value  Will be filled with the integer value for the parameter,
         *       if it was found and it was an integer value.
-        * [in] \param prettyName  Should be the name of the parameter which will
+        * \param [in] prettyName  Should be the name of the parameter which will
         *      be used when printing error messages. If this is set to NULL then
         *      the paramName will be used instead (default is NULL).
         * \return Zero if the object could be found and is valid. Otherwise an
@@ -278,11 +308,11 @@ protected:
        /**
         * Tries to find a certain parameter in the TMap object and convert it to
         * a positive integer value.
-        * [in] \param map  The TMap object to search in.
-        * [in] \param paramName  The name of the parameter to search for.
-        * [out] \param value  Will be filled with the integer value for the parameter,
+        * \param [in] map  The TMap object to search in.
+        * \param [in] paramName  The name of the parameter to search for.
+        * \param [out] value  Will be filled with the integer value for the parameter,
         *       if it was found and it was a positive integer value.
-        * [in] \param prettyName  Should be the name of the parameter which will
+        * \param [in] prettyName  Should be the name of the parameter which will
         *      be used when printing error messages. If this is set to NULL then
         *      the paramName will be used instead (default is NULL).
         * \return Zero if the object could be found and is valid. Otherwise an
@@ -296,11 +326,11 @@ protected:
        /**
         * Tries to find a certain parameter in the TMap object and convert it to
         * an floating point value.
-        * [in] \param map  The TMap object to search in.
-        * [in] \param paramName  The name of the parameter to search for.
-        * [out] \param value  Will be filled with the floating point value for the
+        * \param [in] map  The TMap object to search in.
+        * \param [in] paramName  The name of the parameter to search for.
+        * \param [out] value  Will be filled with the floating point value for the
         *       parameter, if it was found and it was a floating point value.
-        * [in] \param prettyName  Should be the name of the parameter which will
+        * \param [in] prettyName  Should be the name of the parameter which will
         *      be used when printing error messages. If this is set to NULL then
         *      the paramName will be used instead (default is NULL).
         * \return Zero if the object could be found and is valid. Otherwise an
@@ -314,11 +344,11 @@ protected:
        /**
         * Tries to find a certain parameter in the TMap object and convert it to
         * an positive floating point value.
-        * [in] \param map  The TMap object to search in.
-        * [in] \param paramName  The name of the parameter to search for.
-        * [out] \param value  Will be filled with the floating point value for the
+        * \param [in] map  The TMap object to search in.
+        * \param [in] paramName  The name of the parameter to search for.
+        * \param [out] value  Will be filled with the floating point value for the
         *       parameter, if it was found and it was a positive floating point value.
-        * [in] \param prettyName  Should be the name of the parameter which will
+        * \param [in] prettyName  Should be the name of the parameter which will
         *      be used when printing error messages. If this is set to NULL then
         *      the paramName will be used instead (default is NULL).
         * \return Zero if the object could be found and is valid. Otherwise an
@@ -329,9 +359,20 @@ protected:
                        const char* pathToEntry = NULL, const char* prettyName = NULL
                ) const;
        
+       /**
+        * Loads the appropriate field integral from the CDB based on the currently
+        * loaded global magnetic field in TGeoGlobalMagField. If the global field is
+        * not loaded then we try load the GRP entry to figure out the correct integral.
+        * \param [out] bfieldintegral  Will be filled with the dipole magnetic field
+        *       integral value to use.
+        * \return Zero if the field integral could be found and is valid. Otherwise an
+        *       error code is returned, which is compatible with the HLT framework.
+        */
+       int FetchFieldIntegral(Double_t& bfieldintegral) const;
+       
        /**
         * Fetches the reconstruction parameters object from the CDB for MUON.
-        * [out] \param params  This will be filled with the reconstruction
+        * \param [out]  params  This will be filled with the reconstruction
         *      parameters object found if a successful status code is returned.
         *      Otherwise it will be unchanged.
         * \return Zero if the object could be found. Otherwise an error code,