]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTAltroChannelSelectorComponent.h
implemented TPCDigitDump and AltroChannelSelector
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTAltroChannelSelectorComponent.h
CommitLineData
3e6ec852 1//-*- Mode: C++ -*-
2// @(#) $Id$
3
4#ifndef ALIHLTALTROCHANNELSELECTORCOMPONENT_H
5#define ALIHLTALTROCHANNELSELECTORCOMPONENT_H
6/* This file is property of and copyright by the ALICE HLT Project *
7 * ALICE Experiment at CERN, All rights reserved. *
8 * See cxx source for full Copyright notice */
9
10/** @file AliHLTAltroChannelSelectorComponent.h
11 @author Matthias Richter
12 @date
13 @brief Special file writer converting TPC digit input to ASCII.
14*/
15
16// see below for class documentation
17// or
18// refer to README to build package
19// or
20// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
21
22#include "AliHLTProcessor.h"
23
24/**
25 * @class AliHLTAltroChannelSelectorComponent
26 * A converter for digit data of the TPC input to ASCII output.
27 * Data is written to file.
28 *
29 * Component ID: \b AltroChannelSelector <br>
30 * Library: \b libAliHLTTPC
31 *
32 * Mandatory arguments: <br>
33 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
34 *
35 * Optional arguments: <br>
36 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
37 *
38 */
39class AliHLTAltroChannelSelectorComponent : public AliHLTProcessor {
40 public:
41 /** default constructor */
42 AliHLTAltroChannelSelectorComponent();
43 /** destructor */
44 virtual ~AliHLTAltroChannelSelectorComponent();
45
46 // interface functions: property getters
47 const char* GetComponentID();
48 void GetInputDataTypes(AliHLTComponentDataTypeList& list);
49 AliHLTComponentDataType GetOutputDataType();
50 void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
51 AliHLTComponent* Spawn();
52
53 protected:
54 // interface functions: processing
55 int DoInit(int argc, const char** argv);
56 int DoDeinit();
57 int DoEvent(const AliHLTComponentEventData& evtData,
58 const AliHLTComponentBlockData* blocks,
59 AliHLTComponentTriggerData& trigData,
60 AliHLTUInt8_t* outputPtr,
61 AliHLTUInt32_t& size,
62 AliHLTComponentBlockDataList& outputBlocks );
63
64
65 private:
66 /** copy constructor prohibited */
67 AliHLTAltroChannelSelectorComponent(const AliHLTAltroChannelSelectorComponent&);
68 /** assignment operator prohibited */
69 AliHLTAltroChannelSelectorComponent& operator=(const AliHLTAltroChannelSelectorComponent&);
70
e1440dab 71 /**
72 * Copy a data block at the end of a buffer.
73 * The source buffer is inserted at given position relative to the buffer
74 * end.
75 * @param pTgt target buffer
76 * @param capacity capacity (size) of the buffer
77 * @param position porition relative to the END of the buffer
78 * @param pSrc source buffer to be copied
79 * @param size size of the source buffer
80 * @return copied size, neg error code if failed
81 */
82 int CopyBlockToEnd(AliHLTUInt8_t* pTgt, unsigned capacity, unsigned position, void* pSrc, unsigned size);
83
84 /** the mode for the DigitReaderRaw */
85 unsigned fRawreaderMode; //!transient
86
3e6ec852 87 ClassDef(AliHLTAltroChannelSelectorComponent, 0);
88};
89
90#endif