--- /dev/null
+/**************************************************************************
+ * This file is property of and copyright by the ALICE HLT Project *
+ * All rights reserved. *
+ * *
+ * Primary Authors: *
+ * Artur Szostak <artursz@iafrica.com> *
+ * *
+ * 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 AliHLTPredictionProcessorMCH.cxx
+/// @author Artur Szostak <artursz@iafrica.com>
+/// @date
+/// @brief Implementation of the AliHLTPredictionProcessorMCH class.
+///
+
+#include "AliHLTPredictionProcessorMCH.h"
+#include "AliCDBMetaData.h"
+#include "AliCDBEntry.h"
+#include <cstdlib>
+
+ClassImp(AliHLTPredictionProcessorMCH);
+
+
+AliHLTPredictionProcessorMCH::AliHLTPredictionProcessorMCH(
+ const char* detector, AliHLTPendolino* pendolino
+ ) :
+ AliHLTPredictionProcessorInterface(detector, pendolino),
+ fPredict(kTRUE)
+{
+ /// The class constructor for the preprocessor.
+ /// @param detector The detector name, which must be "MCH".
+ /// @param pendolino A valid pointer to the pendolino instance.
+
+ if (strcmp(detector, "MCH") != 0)
+ {
+ Log(Form("Warning: Setting the detector name to an incorrect value = '%s'."
+ " It must be set to 'MCH'.", detector)
+ );
+ }
+}
+
+
+AliHLTPredictionProcessorMCH::~AliHLTPredictionProcessorMCH()
+{
+ /// Default destructor.
+}
+
+
+UInt_t AliHLTPredictionProcessorMCH::makePrediction(Bool_t doPrediction)
+{
+ /// This function is called by the Pendolino before the fetched DCS data
+ /// is handed in for (prediction) processing.
+ ///
+ /// @param doPrediction If true then preprocessed data will be extrapolated
+ /// to the current time. Otherwise no extrapolation will be
+ /// performed if false. The default is to perform extrapolations.
+ ///
+ /// @return Currently always returns 0 for success.
+
+ fPredict = doPrediction;
+ return 0;
+}
+
+
+void AliHLTPredictionProcessorMCH::Initialize(
+ Int_t run, UInt_t startTime, UInt_t endTime
+ )
+{
+ /// Performs initialisation of the preprocessor.
+ /// At the moment just basic sanity checks are performed.
+ ///
+ /// @param run The current run number.
+ /// @param startTime The start time (earliest timestamp) of the data.
+ /// @param endTime The end time (latest timestamp) of the data.
+
+ if (startTime > endTime)
+ Log("Error: start time is greater than end time.");
+
+ AliPreprocessor::Initialize(run, startTime, endTime);
+
+ if (fPredict)
+ Log("Prediction is switched ON.");
+ else
+ Log("Prediction is switched OFF.");
+}
+
+
+UInt_t AliHLTPredictionProcessorMCH::Process(TMap* dcsAliasMap)
+{
+ /// Process the DCS values.
+ /// At the moment nothing is done here.
+ ///
+ /// @param dcsAliasMap The map containing aliases and corresponding DCS
+ /// values and timestamps
+ ///
+ /// @return At the moment 0 is always returned for success.
+
+ Log("Processing MCH");
+ return 0;
+}
--- /dev/null
+#ifndef ALIHLTPREDICTIONPROCESSORMCH_H
+#define ALIHLTPREDICTIONPROCESSORMCH_H
+/* This file is property of and copyright by the ALICE HLT Project *
+ * ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
+/* $Id$ */
+
+///
+/// @file AliHLTPredictionProcessorMCH.h
+/// @author Artur Szostak <artursz@iafrica.com>
+/// @date 2007-11-24
+/// @brief Declaration of the muon tracking chamber prediction processor.
+///
+
+#include "AliHLTPredictionProcessorInterface.h"
+
+/**
+ * This is the prediction processor for the muon tracking chambers.
+ * It is required as part of the Pendolino interface so that data fetched from
+ * DCS can be transformed and extrapolated into a format suitable for the HCDB.
+ *
+ * At the moment this class does not really do anything, but will fill the
+ * HCDB with data in the future.
+ *
+ * Refer to:
+ * http://wiki.kip.uni-heidelberg.de/ti/HLT/index.php/Pendolino-PredictionProcessor-Interface
+ * for more details about the Pendolino and preprocessor interfaces.
+ */
+class AliHLTPredictionProcessorMCH : public AliHLTPredictionProcessorInterface
+{
+public:
+
+ /**
+ * The class constructor for the preprocessor.
+ * @param detector The detector name, which must be "MCH".
+ * @param pendolino A valid pointer to the pendolino instance.
+ */
+ AliHLTPredictionProcessorMCH(const char* detector, AliHLTPendolino* pendolino);
+
+ virtual ~AliHLTPredictionProcessorMCH();
+
+ // The following methods are inherited from AliHLTPredictionProcessorInterface.
+
+ /**
+ * This function is called by the Pendolino before the fetched DCS data
+ * is handed in for (prediction) processing.
+ *
+ * @param doPrediction If true then preprocessed data will be extrapolated
+ * to the current time. Otherwise no extrapolation will be
+ * performed if false. The default is to perform extrapolations.
+ *
+ * @return Currently always returns 0 for success.
+ */
+ virtual UInt_t makePrediction(Bool_t doPrediction = true);
+
+ /**
+ * Performs initialisation of the preprocessor.
+ * At the moment just basic sanity checks are performed.
+ *
+ * @param run The current run number.
+ * @param startTime The start time (earliest timestamp) of the data.
+ * @param endTime The end time (latest timestamp) of the data.
+ */
+ virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
+
+ /**
+ * Process the DCS values.
+ * At the moment nothing is done here.
+ *
+ * @param dcsAliasMap The map containing aliases and corresponding DCS
+ * values and timestamps
+ *
+ * @return At the moment 0 is always returned for success.
+ */
+ virtual UInt_t Process(TMap* dcsAliasMap);
+
+ /**
+ * Indicates that the DCS data shall be processed.
+ * NOTE: should always return true, since it is used as prediction
+ * processor, which will only process DCS data
+ *
+ * @return Always returns the value kTRUE.
+ */
+ virtual Bool_t ProcessDCS() { return kTRUE; };
+
+private:
+
+ // Do not allow copying of this class.
+ AliHLTPredictionProcessorMCH(const AliHLTPredictionProcessorMCH& /*obj*/);
+ AliHLTPredictionProcessorMCH& operator = (const AliHLTPredictionProcessorMCH& /*obj*/);
+
+ Bool_t fPredict; //! Flag indicating if the processed values should be extrapolated to current time.
+
+ ClassDef(AliHLTPredictionProcessorMCH, 0); // The prediction processor for the muon tracking chambers.
+};
+
+#endif // ALIHLTPREDICTIONPROCESSORMCH_H
--- /dev/null
+/**************************************************************************
+ * This file is property of and copyright by the ALICE HLT Project *
+ * All rights reserved. *
+ * *
+ * Primary Authors: *
+ * Artur Szostak <artursz@iafrica.com> *
+ * *
+ * 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 AliHLTPredictionProcessorMTR.cxx
+/// @author Artur Szostak <artursz@iafrica.com>
+/// @date
+/// @brief Implementation of the AliHLTPredictionProcessorMTR class.
+///
+
+#include "AliHLTPredictionProcessorMTR.h"
+#include "AliCDBMetaData.h"
+#include "AliCDBEntry.h"
+#include <cstdlib>
+
+ClassImp(AliHLTPredictionProcessorMTR);
+
+
+AliHLTPredictionProcessorMTR::AliHLTPredictionProcessorMTR(
+ const char* detector, AliHLTPendolino* pendolino
+ ) :
+ AliHLTPredictionProcessorInterface(detector, pendolino),
+ fPredict(kTRUE)
+{
+ /// The class constructor for the preprocessor.
+ /// @param detector The detector name, which must be "MTR".
+ /// @param pendolino A valid pointer to the pendolino instance.
+
+ if (strcmp(detector, "MTR") != 0)
+ {
+ Log(Form("Warning: Setting the detector name to an incorrect value = '%s'."
+ " It must be set to 'MTR'.", detector)
+ );
+ }
+}
+
+
+AliHLTPredictionProcessorMTR::~AliHLTPredictionProcessorMTR()
+{
+ /// Default destructor.
+}
+
+
+UInt_t AliHLTPredictionProcessorMTR::makePrediction(Bool_t doPrediction)
+{
+ /// This function is called by the Pendolino before the fetched DCS data
+ /// is handed in for (prediction) processing.
+ ///
+ /// @param doPrediction If true then preprocessed data will be extrapolated
+ /// to the current time. Otherwise no extrapolation will be
+ /// performed if false. The default is to perform extrapolations.
+ ///
+ /// @return Currently always returns 0 for success.
+
+ fPredict = doPrediction;
+ return 0;
+}
+
+
+void AliHLTPredictionProcessorMTR::Initialize(
+ Int_t run, UInt_t startTime, UInt_t endTime
+ )
+{
+ /// Performs initialisation of the preprocessor.
+ /// At the moment just basic sanity checks are performed.
+ ///
+ /// @param run The current run number.
+ /// @param startTime The start time (earliest timestamp) of the data.
+ /// @param endTime The end time (latest timestamp) of the data.
+
+ if (startTime > endTime)
+ Log("Error: start time is greater than end time.");
+
+ AliPreprocessor::Initialize(run, startTime, endTime);
+
+ if (fPredict)
+ Log("Prediction is switched ON.");
+ else
+ Log("Prediction is switched OFF.");
+}
+
+
+UInt_t AliHLTPredictionProcessorMTR::Process(TMap* dcsAliasMap)
+{
+ /// Process the DCS values.
+ /// At the moment nothing is done here.
+ ///
+ /// @param dcsAliasMap The map containing aliases and corresponding DCS
+ /// values and timestamps
+ ///
+ /// @return At the moment 0 is always returned for success.
+
+ Log("Processing MTR");
+ return 0;
+}
--- /dev/null
+#ifndef ALIHLTPREDICTIONPROCESSORMTR_H
+#define ALIHLTPREDICTIONPROCESSORMTR_H
+/* This file is property of and copyright by the ALICE HLT Project *
+ * ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
+/* $Id$ */
+
+///
+/// @file AliHLTPredictionProcessorMTR.h
+/// @author Artur Szostak <artursz@iafrica.com>
+/// @date 2007-11-24
+/// @brief Declaration of the muon trigger prediction processor.
+///
+
+#include "AliHLTPredictionProcessorInterface.h"
+
+/**
+ * This is the prediction processor for the muon trigger detector.
+ * It is required as part of the Pendolino interface so that data fetched from
+ * DCS can be transformed and extrapolated into a format suitable for the HCDB.
+ *
+ * At the moment this class does not really do anything, but will fill the
+ * HCDB with data in the future.
+ *
+ * Refer to:
+ * http://wiki.kip.uni-heidelberg.de/ti/HLT/index.php/Pendolino-PredictionProcessor-Interface
+ * for more details about the Pendolino and preprocessor interfaces.
+ */
+class AliHLTPredictionProcessorMTR : public AliHLTPredictionProcessorInterface
+{
+public:
+
+ /**
+ * The class constructor for the preprocessor.
+ * @param detector The detector name, which must be "MTR".
+ * @param pendolino A valid pointer to the pendolino instance.
+ */
+ AliHLTPredictionProcessorMTR(const char* detector, AliHLTPendolino* pendolino);
+
+ virtual ~AliHLTPredictionProcessorMTR();
+
+ // The following methods are inherited from AliHLTPredictionProcessorInterface.
+
+ /**
+ * This function is called by the Pendolino before the fetched DCS data
+ * is handed in for (prediction) processing.
+ *
+ * @param doPrediction If true then preprocessed data will be extrapolated
+ * to the current time. Otherwise no extrapolation will be
+ * performed if false. The default is to perform extrapolations.
+ *
+ * @return Currently always returns 0 for success.
+ */
+ virtual UInt_t makePrediction(Bool_t doPrediction = true);
+
+ /**
+ * Performs initialisation of the preprocessor.
+ * At the moment just basic sanity checks are performed.
+ *
+ * @param run The current run number.
+ * @param startTime The start time (earliest timestamp) of the data.
+ * @param endTime The end time (latest timestamp) of the data.
+ */
+ virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
+
+ /**
+ * Process the DCS values.
+ * At the moment nothing is done here.
+ *
+ * @param dcsAliasMap The map containing aliases and corresponding DCS
+ * values and timestamps
+ *
+ * @return At the moment 0 is always returned for success.
+ */
+ virtual UInt_t Process(TMap* dcsAliasMap);
+
+ /**
+ * Indicates that the DCS data shall be processed.
+ * NOTE: should always return true, since it is used as prediction
+ * processor, which will only process DCS data
+ *
+ * @return Always returns the value kTRUE.
+ */
+ virtual Bool_t ProcessDCS() { return kTRUE; };
+
+private:
+
+ // Do not allow copying of this class.
+ AliHLTPredictionProcessorMTR(const AliHLTPredictionProcessorMTR& /*obj*/);
+ AliHLTPredictionProcessorMTR& operator = (const AliHLTPredictionProcessorMTR& /*obj*/);
+
+ Bool_t fPredict; //! Flag indicating if the processed values should be extrapolated to current time.
+
+ ClassDef(AliHLTPredictionProcessorMTR, 0); // The prediction processor for the muon trigger detector.
+};
+
+#endif // ALIHLTPREDICTIONPROCESSORMTR_H