242bb794 |
1 | // @(#) $Id$ |
2 | |
3 | /** @file AliHLTAgentSample.cxx |
4 | @author Matthias Richter |
5 | @date |
6 | @brief Agent of the libAliHLTSample library |
7 | */ |
8 | |
9 | #include "AliHLTAgentSample.h" |
10 | #include "AliHLTConfiguration.h" |
11 | #include "TSystem.h" |
12 | |
13 | /** global instance for agent registration */ |
14 | AliHLTAgentSample gAliHLTAgentSample; |
15 | |
16 | const char* gAliHLTAgentSampleData="/tmp/testdata"; |
17 | const char* gAliHLTAgentSampleOut="/tmp/hltout"; |
18 | |
19 | /** ROOT macro for the implementation of ROOT specific class methods */ |
20 | ClassImp(AliHLTAgentSample) |
21 | |
22 | AliHLTAgentSample::AliHLTAgentSample() |
23 | { |
24 | // see header file for class documentation |
25 | // or |
26 | // refer to README to build package |
27 | // or |
28 | // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt |
29 | } |
30 | |
31 | AliHLTAgentSample::~AliHLTAgentSample() |
32 | { |
33 | // see header file for class documentation |
34 | |
35 | // delete the test data |
36 | ofstream dump(gAliHLTAgentSampleData, ios::in); |
37 | if (dump.good()) { |
38 | TString arg("rm -f "); |
39 | arg+=gAliHLTAgentSampleData; |
40 | gSystem->Exec(arg.Data()); |
41 | } |
42 | } |
43 | |
44 | int AliHLTAgentSample::CreateConfigurations(AliHLTConfigurationHandler* handler, |
45 | AliRunLoader* runloader) const |
46 | { |
47 | // see header file for class documentation |
48 | |
49 | // create some test data |
50 | ofstream dump(gAliHLTAgentSampleData, (ios::openmode)0); |
51 | dump << "This is just some test data for the ALICE HLT analysis example"; |
52 | dump << "---- not copied" << endl; |
53 | dump.close(); |
54 | |
55 | if (handler) { |
56 | // the publisher configuration for the test data |
57 | TString arg("-datafile "); |
58 | arg+=gAliHLTAgentSampleData; |
59 | HLTDebug(arg.Data()); |
60 | handler->CreateConfiguration("fp1" , "FilePublisher", NULL , arg.Data()); |
61 | |
62 | // the configuration for the dummy component |
63 | handler->CreateConfiguration("cp" , "Dummy" , "fp1", "output_percentage 80"); |
64 | |
65 | // the writer configuration |
66 | arg="-datafile "; arg+=gAliHLTAgentSampleOut; |
67 | handler->CreateConfiguration("sink1", "FileWriter" , "cp" , arg.Data()); |
68 | } |
69 | return 0; |
70 | } |
71 | |
72 | const char* AliHLTAgentSample::GetTopConfigurations(AliRunLoader* runloader) const |
73 | { |
74 | // see header file for class documentation |
75 | return "sink1"; |
76 | } |
77 | |
78 | const char* AliHLTAgentSample::GetRequiredComponentLibraries() const |
79 | { |
80 | // see header file for class documentation |
81 | return "libAliHLTUtil.so libAliHLTSample.so"; |
82 | } |