]>
Commit | Line | Data |
---|---|---|
242bb794 | 1 | // @(#) $Id$ |
2 | ||
9be2600f | 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 | ||
242bb794 | 19 | /** @file AliHLTAgentSample.cxx |
20 | @author Matthias Richter | |
21 | @date | |
22 | @brief Agent of the libAliHLTSample library | |
23 | */ | |
24 | ||
25 | #include "AliHLTAgentSample.h" | |
26 | #include "AliHLTConfiguration.h" | |
27 | #include "TSystem.h" | |
28 | ||
29 | /** global instance for agent registration */ | |
30 | AliHLTAgentSample gAliHLTAgentSample; | |
31 | ||
90ebac25 | 32 | const char* AliHLTAgentSample::fgkAliHLTAgentSampleData="/tmp/testdata"; |
33 | const char* AliHLTAgentSample::fgkAliHLTAgentSampleOut="/tmp/hltout"; | |
242bb794 | 34 | |
35 | /** ROOT macro for the implementation of ROOT specific class methods */ | |
36 | ClassImp(AliHLTAgentSample) | |
37 | ||
38 | AliHLTAgentSample::AliHLTAgentSample() | |
39 | { | |
40 | // see header file for class documentation | |
41 | // or | |
42 | // refer to README to build package | |
43 | // or | |
44 | // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt | |
45 | } | |
46 | ||
47 | AliHLTAgentSample::~AliHLTAgentSample() | |
48 | { | |
49 | // see header file for class documentation | |
50 | ||
51 | // delete the test data | |
90ebac25 | 52 | ofstream dump(fgkAliHLTAgentSampleData, ios::in); |
242bb794 | 53 | if (dump.good()) { |
54 | TString arg("rm -f "); | |
90ebac25 | 55 | arg+=fgkAliHLTAgentSampleData; |
242bb794 | 56 | gSystem->Exec(arg.Data()); |
57 | } | |
58 | } | |
59 | ||
60 | int AliHLTAgentSample::CreateConfigurations(AliHLTConfigurationHandler* handler, | |
90ebac25 | 61 | AliRunLoader* runloader) const |
242bb794 | 62 | { |
63 | // see header file for class documentation | |
64 | ||
65 | // create some test data | |
90ebac25 | 66 | ofstream dump(fgkAliHLTAgentSampleData, (ios::openmode)0); |
242bb794 | 67 | dump << "This is just some test data for the ALICE HLT analysis example"; |
68 | dump << "---- not copied" << endl; | |
69 | dump.close(); | |
70 | ||
71 | if (handler) { | |
72 | // the publisher configuration for the test data | |
73 | TString arg("-datafile "); | |
90ebac25 | 74 | arg+=fgkAliHLTAgentSampleData; |
242bb794 | 75 | HLTDebug(arg.Data()); |
90ebac25 | 76 | handler->CreateConfiguration("sample-fp1" , "FilePublisher", NULL , arg.Data()); |
242bb794 | 77 | |
78 | // the configuration for the dummy component | |
90ebac25 | 79 | handler->CreateConfiguration("sample-cp" , "Dummy" , "sample-fp1", "output_percentage 80"); |
242bb794 | 80 | |
81 | // the writer configuration | |
90ebac25 | 82 | arg="-datafile "; arg+=fgkAliHLTAgentSampleOut; |
83 | handler->CreateConfiguration("sample-sink1", "FileWriter" , "sample-cp" , arg.Data()); | |
84 | ||
85 | // sample offline source | |
86 | handler->CreateConfiguration("sample-offsrc", "AliLoaderPublisher" , NULL , "-loader TPCLoader -tree digits -verbose"); | |
87 | ||
88 | // sample offline sink | |
89 | handler->CreateConfiguration("sample-offsnk", "SampleOfflineDataSink" , "sample-offsrc" , NULL); | |
242bb794 | 90 | } |
91 | return 0; | |
92 | } | |
93 | ||
90ebac25 | 94 | const char* AliHLTAgentSample::GetLocalRecConfigurations(AliRunLoader* runloader) const |
242bb794 | 95 | { |
96 | // see header file for class documentation | |
90ebac25 | 97 | return "sample-sink1 sample-offsnk"; |
242bb794 | 98 | } |
99 | ||
100 | const char* AliHLTAgentSample::GetRequiredComponentLibraries() const | |
101 | { | |
102 | // see header file for class documentation | |
103 | return "libAliHLTUtil.so libAliHLTSample.so"; | |
104 | } |