]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/BASE/AliHLTDataSink.cxx
coveritiy
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTDataSink.cxx
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   AliHLTDataSink.cxx
20     @author Matthias Richter
21     @date   
22     @brief  Base class implementation for HLT data source components. */
23
24 #if __GNUC__>= 3
25 using namespace std;
26 #endif
27
28 #include "AliHLTDataSink.h"
29
30 /** ROOT macro for the implementation of ROOT specific class methods */
31 ClassImp(AliHLTDataSink)
32
33 AliHLTDataSink::AliHLTDataSink()
34
35   // see header file for class documentation
36   // or
37   // refer to README to build package
38   // or
39   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
40 }
41
42 AliHLTDataSink::~AliHLTDataSink()
43
44   // see header file for class documentation
45 }
46
47 AliHLTComponentDataType AliHLTDataSink::GetOutputDataType()
48 {
49   // see header file for class documentation
50   AliHLTComponentDataType dt =
51     {sizeof(AliHLTComponentDataType),
52      kAliHLTVoidDataTypeID,
53      kAliHLTVoidDataOrigin};
54   return dt;
55 }
56
57 void AliHLTDataSink::GetOutputDataSize( unsigned long& constBase, double& inputMultiplier )
58 {
59   // see header file for class documentation
60   constBase=0;
61   inputMultiplier=0;
62 }
63
64 int AliHLTDataSink::DoProcessing( const AliHLTComponentEventData& evtData,
65                                   const AliHLTComponentBlockData* blocks, 
66                                   AliHLTComponentTriggerData& trigData,
67                                   AliHLTUInt8_t* outputPtr, 
68                                   AliHLTUInt32_t& size,
69                                   vector<AliHLTComponentBlockData>& outputBlocks,
70                                   AliHLTComponentEventDoneData*& edd )
71 {
72   // see header file for class documentation
73   int iResult=0;
74   if (outputPtr==NULL
75       && size==0 
76       && edd==NULL) {
77     // this is currently just to get rid of the warning "unused parameter"
78   }
79   outputBlocks.clear();
80   iResult=DumpEvent(evtData, blocks, trigData);
81   return iResult;
82 }
83
84 int AliHLTDataSink::DumpEvent( const AliHLTComponentEventData& evtData,
85                                const AliHLTComponentBlockData* /*blocks*/, 
86                                AliHLTComponentTriggerData& trigData )
87 {
88   // we just forward to the high level method, all other parameters already
89   // have been stored internally
90   return DumpEvent(evtData, trigData);
91 }
92
93 int AliHLTDataSink::DumpEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& /*trigData*/)
94 {
95   HLTFatal("no processing method implemented");
96   return -ENOSYS;
97 }