// $Id$ /************************************************************************** * This file is property of and copyright by the ALICE HLT Project * * ALICE Experiment at CERN, All rights reserved. * * * * Primary Authors: Matthias Richter * * for The ALICE HLT Project. * * * * Permission to use, copy, modify and distribute this software and its * * documentation strictly for non-commercial purposes is hereby granted * * without fee, provided that the above copyright notice appears in all * * copies and that both the copyright notice and this permission notice * * appear in the supporting documentation. The authors make no claims * * about the suitability of this software for any purpose. It is * * provided "as is" without express or implied warranty. * **************************************************************************/ /** @file AliHLTAltroChannelSelectorComponent.cxx @author Matthias Richter @date @brief A filter/selective readout component for TPC Altro data. */ // see header file for class documentation // or // refer to README to build package // or // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt #include "AliHLTAltroChannelSelectorComponent.h" /** ROOT macro for the implementation of ROOT specific class methods */ ClassImp(AliHLTAltroChannelSelectorComponent) AliHLTAltroChannelSelectorComponent::AliHLTAltroChannelSelectorComponent() : AliHLTProcessor() { // see header file for class documentation // or // refer to README to build package // or // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt } AliHLTAltroChannelSelectorComponent::~AliHLTAltroChannelSelectorComponent() { // see header file for class documentation } const char* AliHLTAltroChannelSelectorComponent::GetComponentID() { // see header file for class documentation return "AltroChannelSelector"; } void AliHLTAltroChannelSelectorComponent::GetInputDataTypes(AliHLTComponentDataTypeList& list) { // see header file for class documentation list.clear(); list.push_back(kAliHLTDataTypeDDLRaw|kAliHLTDataOriginTPC); //list.push_back(channel list); } AliHLTComponentDataType AliHLTAltroChannelSelectorComponent::GetOutputDataType() { // see header file for class documentation return kAliHLTDataTypeDDLRaw|kAliHLTDataOriginTPC; } void AliHLTAltroChannelSelectorComponent::GetOutputDataSize(unsigned long& constBase, double& inputMultiplier) { // see header file for class documentation constBase=0; inputMultiplier=1.0; } AliHLTComponent* AliHLTAltroChannelSelectorComponent::Spawn() { // see header file for class documentation return new AliHLTAltroChannelSelectorComponent; } int AliHLTAltroChannelSelectorComponent::DoInit(int argc, const char** argv) { // see header file for class documentation int iResult=0; TString argument=""; for (int i=0; i=0; i++) { argument=argv[i]; if (argument.IsNull()) continue; // if (argument.CompareTo("-whatsoever")==0) { } else { iResult=-EINVAL; } } return iResult; } int AliHLTAltroChannelSelectorComponent::DoDeinit() { // see header file for class documentation return 0; } int AliHLTAltroChannelSelectorComponent::DoEvent(const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, AliHLTComponentTriggerData& /*trigData*/, AliHLTUInt8_t* outputPtr, AliHLTUInt32_t& size, AliHLTComponentBlockDataList& outputBlocks ) { // see header file for class documentation int iResult=0; // search for the active pad information for (int n=0; n<(int)evtData.fBlockCnt; n++ ) { // if (blocks[n].fDataType == ...) { // } } // process the DLL input for (int n=0; n<(int)evtData.fBlockCnt; n++ ) { if (blocks[n].fDataType != (kAliHLTDataTypeDDLRaw|kAliHLTDataOriginTPC)) continue; } return iResult; }