3 /**************************************************************************
4 * This file is property of and copyright by the ALICE HLT Project *
5 * ALICE Experiment at CERN, All rights reserved. *
7 * Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no> *
8 * for The ALICE HLT Project. *
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 **************************************************************************/
19 /** @file AliHLTAltroChannelSelectorComponent.cxx
20 @author Matthias Richter
22 @brief A filter/selective readout component for TPC Altro data. */
24 // see header file for class documentation
26 // refer to README to build package
28 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
30 #include "AliHLTAltroChannelSelectorComponent.h"
32 /** ROOT macro for the implementation of ROOT specific class methods */
33 ClassImp(AliHLTAltroChannelSelectorComponent)
35 AliHLTAltroChannelSelectorComponent::AliHLTAltroChannelSelectorComponent()
39 // see header file for class documentation
41 // refer to README to build package
43 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
46 AliHLTAltroChannelSelectorComponent::~AliHLTAltroChannelSelectorComponent()
48 // see header file for class documentation
51 const char* AliHLTAltroChannelSelectorComponent::GetComponentID()
53 // see header file for class documentation
54 return "AltroChannelSelector";
57 void AliHLTAltroChannelSelectorComponent::GetInputDataTypes(AliHLTComponentDataTypeList& list)
59 // see header file for class documentation
61 list.push_back(kAliHLTDataTypeDDLRaw|kAliHLTDataOriginTPC);
62 //list.push_back(channel list);
65 AliHLTComponentDataType AliHLTAltroChannelSelectorComponent::GetOutputDataType()
67 // see header file for class documentation
68 return kAliHLTDataTypeDDLRaw|kAliHLTDataOriginTPC;
71 void AliHLTAltroChannelSelectorComponent::GetOutputDataSize(unsigned long& constBase, double& inputMultiplier)
73 // see header file for class documentation
78 AliHLTComponent* AliHLTAltroChannelSelectorComponent::Spawn()
80 // see header file for class documentation
81 return new AliHLTAltroChannelSelectorComponent;
84 int AliHLTAltroChannelSelectorComponent::DoInit(int argc, const char** argv)
86 // see header file for class documentation
89 for (int i=0; i<argc && iResult>=0; i++) {
91 if (argument.IsNull()) continue;
94 if (argument.CompareTo("-whatsoever")==0) {
103 int AliHLTAltroChannelSelectorComponent::DoDeinit()
105 // see header file for class documentation
109 int AliHLTAltroChannelSelectorComponent::DoEvent(const AliHLTComponentEventData& evtData,
110 const AliHLTComponentBlockData* blocks,
111 AliHLTComponentTriggerData& /*trigData*/,
112 AliHLTUInt8_t* outputPtr,
113 AliHLTUInt32_t& size,
114 AliHLTComponentBlockDataList& outputBlocks )
116 // see header file for class documentation
119 // search for the active pad information
120 for (int n=0; n<(int)evtData.fBlockCnt; n++ ) {
121 // if (blocks[n].fDataType == ...) {
126 // process the DLL input
127 for (int n=0; n<(int)evtData.fBlockCnt; n++ ) {
128 if (blocks[n].fDataType != (kAliHLTDataTypeDDLRaw|kAliHLTDataOriginTPC)) continue;