Adding the agent object which handles dimuon HLT configurations in libAliHLTMUON.so
authorszostak <szostak@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 28 May 2007 11:40:00 +0000 (11:40 +0000)
committerszostak <szostak@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 28 May 2007 11:40:00 +0000 (11:40 +0000)
HLT/MUON/OfflineInterface/AliHLTMUONAgent.cxx [new file with mode: 0644]
HLT/MUON/OfflineInterface/AliHLTMUONAgent.h [new file with mode: 0644]

diff --git a/HLT/MUON/OfflineInterface/AliHLTMUONAgent.cxx b/HLT/MUON/OfflineInterface/AliHLTMUONAgent.cxx
new file mode 100644 (file)
index 0000000..3d2e709
--- /dev/null
@@ -0,0 +1,68 @@
+/**************************************************************************
+ * Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+/* $Id$ */
+
+/**
+ * @file   AliHLTMUONAgent.cxx
+ * @author Artur Szostak <artursz@iafrica.com>
+ * @date   
+ * @brief  Implementation of the AliHLTMUONAgent class.
+ */
+
+#include "AliHLTMUONAgent.h"
+#include "AliRunLoader.h"
+
+namespace
+{
+       // The single global instance of the dimuon HLT agent.
+       AliHLTMUONAgent gAliHLTMUONAgent;
+}
+
+ClassImp(AliHLTMUONAgent);
+
+
+AliHLTMUONAgent::AliHLTMUONAgent() : AliHLTModuleAgent()
+{
+}
+
+AliHLTMUONAgent::~AliHLTMUONAgent()
+{
+}
+
+const char* AliHLTMUONAgent::GetLocalRecConfigurations(
+               AliRunLoader* runloader
+       ) const
+{
+       return "dhlt-simhits";
+}
+
+const char* AliHLTMUONAgent::GetRequiredComponentLibraries() const
+{
+       return "libGeom.so libMinuit.so libEG.so libTreePlayer.so libXMLIO.so "
+               "libVMC.so libESD.so libSTEER.so libGui.so libMUONraw.so libMUONgeometry.so "
+               "libMUONmapping.so libMUONcalib.so libMUONbase.so libMUONsim.so libAliHLTMUON.so";
+}
+
+
+int AliHLTMUONAgent::CreateConfigurations(
+               AliHLTConfigurationHandler* handler,
+               AliRunLoader* runloader
+       ) const
+{
+       if (handler == NULL) return 0;
+       handler->CreateConfiguration("dhlt-simhits", "DimuoRecHitsSource", NULL, "-simdata");
+       return 0;
+}
diff --git a/HLT/MUON/OfflineInterface/AliHLTMUONAgent.h b/HLT/MUON/OfflineInterface/AliHLTMUONAgent.h
new file mode 100644 (file)
index 0000000..8992d0a
--- /dev/null
@@ -0,0 +1,59 @@
+#ifndef ALIHLTMUONAGENT_H
+#define ALIHLTMUONAGENT_H
+/* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+/* $Id$ */
+
+/**
+ * @file   AliHLTMUONAgent.h
+ * @author Artur Szostak <artursz@iafrica.com>
+ * @date   
+ * @brief  The HLT module agent for libAliHLTMUON.so which interfaces HLT
+ *         components with offline.
+ */
+
+#include "AliHLTModuleAgent.h"
+class AliRunLoader;
+
+/**
+ * This module agent handles dimuon HLT module registration and configurations
+ * within the AliRoot framework.
+ */
+class AliHLTMUONAgent : public AliHLTModuleAgent
+{
+public:
+       AliHLTMUONAgent();
+       
+       virtual ~AliHLTMUONAgent();
+
+       /**
+        * Register all processing configurations belonging to the dimuon HLT
+        * library with the AliHLTConfigurationHandler.
+        * @param handler      the configuration handler
+        * @param runloader    AliRoot runloader
+        * @return Zero on success and error code if failed.
+        */
+       int CreateConfigurations(
+                       AliHLTConfigurationHandler* handler,
+                       AliRunLoader* runloader = NULL
+               ) const;
+
+       /**
+        * Returns the top processing chain configurations for local event
+        * reconstruction.
+        * @param runloader  [in] AliRoot runloader
+        * @return string containing the top configurations separated by blanks.
+        */
+       const char* GetLocalRecConfigurations(AliRunLoader* runloader = NULL) const;
+
+       /**
+        * Component libraries which the configurations of this agent depend on.
+        * @return list of component libraries as a blank-separated string.
+        */
+       const char* GetRequiredComponentLibraries() const;
+
+       ClassDef(AliHLTMUONAgent, 1); // Dimuon HLT module agent which handles processing configurations.
+};
+
+#endif // ALIHLTMUONAGENT_H