moved HLT preprocessor to libHLTshuttle; added HLT module preprocessor framework...
[u/mrichter/AliRoot.git] / HLT / comp / AliHLTCompAgent.cxx
CommitLineData
ae51a735 1// @(#) $Id$
2
3/**************************************************************************
4 * This file is property of and copyright by the ALICE HLT Project *
5 * ALICE Experiment at CERN, All rights reserved. *
6 * *
7 * Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no> *
8 * for The ALICE HLT Project. *
9 * *
10 * Permission to use, copy, modify and distribute this software and its *
11 * documentation strictly for non-commercial purposes is hereby granted *
12 * without fee, provided that the above copyright notice appears in all *
13 * copies and that both the copyright notice and this permission notice *
14 * appear in the supporting documentation. The authors make no claims *
15 * about the suitability of this software for any purpose. It is *
16 * provided "as is" without express or implied warranty. *
17 **************************************************************************/
18
19/** @file AliHLTCompAgent.cxx
20 @author Matthias Richter
21 @date
a183f221 22 @brief Agent of the libAliHLTComp library
ae51a735 23*/
24
25// see header file for class documentation
26// or
27// refer to README to build package
28// or
29// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
30
31#include <cassert>
32#include <cerrno>
33#include "AliHLTCompAgent.h"
34#include "AliHLTConfiguration.h"
35
36// header files of library components
c2440081 37#include "AliHLTCOMPHuffmanAltroComponent.h"
38#include "AliHLTCOMPHuffmanAltroCalibComponent.h"
ae51a735 39
12ec5482 40// header file of the module preprocessor
41#include "AliHLTCompPreprocessor.h"
42
ae51a735 43/** global instance for agent registration */
44AliHLTCompAgent gAliHLTCompAgent;
45
46/** ROOT macro for the implementation of ROOT specific class methods */
47ClassImp(AliHLTCompAgent)
48
49AliHLTCompAgent::AliHLTCompAgent()
50{
51 // see header file for class documentation
52 // or
53 // refer to README to build package
54 // or
55 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
56}
57
58AliHLTCompAgent::~AliHLTCompAgent()
59{
60 // see header file for class documentation
61}
62
63int AliHLTCompAgent::CreateConfigurations(AliHLTConfigurationHandler* /*handler*/,
64 AliRawReader* /*rawReader*/,
65 AliRunLoader* /*runloader*/) const
66{
67 // see header file for class documentation
68 return 0;
69}
70
71const char* AliHLTCompAgent::GetReconstructionChains(AliRawReader* /*rawReader*/,
72 AliRunLoader* /*runloader*/) const
73{
74 // see header file for class documentation
75 return NULL;
76}
77
78const char* AliHLTCompAgent::GetRequiredComponentLibraries() const
79{
80 // see header file for class documentation
c2440081 81
82 // libAliHLTUtil.so for AliRawReaderPublisher
83 //return "libAliHLTUtil.so";
ae51a735 84 return NULL;
85}
86
87int AliHLTCompAgent::RegisterComponents(AliHLTComponentHandler* pHandler) const
88{
89 // see header file for class documentation
90 assert(pHandler);
91 if (!pHandler) return -EINVAL;
c2440081 92 // use fCompressionSwitch = true for decompressed inputtype (i.e. compressed output)
93 pHandler->AddComponent(new AliHLTCOMPHuffmanAltroComponent(true));
94 // use fCompressionSwitch = false for compressed inputtype (i.e. decompressed output)
95 pHandler->AddComponent(new AliHLTCOMPHuffmanAltroComponent(false));
96 pHandler->AddComponent(new AliHLTCOMPHuffmanAltroCalibComponent);
97
ae51a735 98 return 0;
99}
12ec5482 100
101AliHLTModulePreprocessor* AliHLTCompAgent::GetPreprocessor()
102{
103 // see header file for class documentation
104 return new AliHLTCompPreprocessor;
105}