added DigitDumpComponent and AltroChannelSelector
authorrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 23 Nov 2007 14:05:42 +0000 (14:05 +0000)
committerrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 23 Nov 2007 14:05:42 +0000 (14:05 +0000)
HLT/TPCLib/AliHLTAltroChannelSelectorComponent.cxx [new file with mode: 0644]
HLT/TPCLib/AliHLTAltroChannelSelectorComponent.h [new file with mode: 0644]
HLT/TPCLib/AliHLTTPCDigitDumpComponent.cxx [new file with mode: 0644]
HLT/TPCLib/AliHLTTPCDigitDumpComponent.h [new file with mode: 0644]
HLT/libAliHLTTPC.pkg

diff --git a/HLT/TPCLib/AliHLTAltroChannelSelectorComponent.cxx b/HLT/TPCLib/AliHLTAltroChannelSelectorComponent.cxx
new file mode 100644 (file)
index 0000000..c2af3b2
--- /dev/null
@@ -0,0 +1,132 @@
+// $Id$
+
+/**************************************************************************
+ * This file is property of and copyright by the ALICE HLT Project        * 
+ * ALICE Experiment at CERN, All rights reserved.                         *
+ *                                                                        *
+ * Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no>        *
+ *                  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<argc && iResult>=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;
+}
diff --git a/HLT/TPCLib/AliHLTAltroChannelSelectorComponent.h b/HLT/TPCLib/AliHLTAltroChannelSelectorComponent.h
new file mode 100644 (file)
index 0000000..35e8105
--- /dev/null
@@ -0,0 +1,74 @@
+//-*- Mode: C++ -*-
+// @(#) $Id$
+
+#ifndef ALIHLTALTROCHANNELSELECTORCOMPONENT_H
+#define ALIHLTALTROCHANNELSELECTORCOMPONENT_H
+/* This file is property of and copyright by the ALICE HLT Project        * 
+ * ALICE Experiment at CERN, All rights reserved.                         *
+ * See cxx source for full Copyright notice                               */
+
+/** @file   AliHLTAltroChannelSelectorComponent.h
+    @author Matthias Richter
+    @date   
+    @brief  Special file writer converting TPC digit input to ASCII.
+*/
+
+// see below for class documentation
+// or
+// refer to README to build package
+// or
+// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt   
+
+#include "AliHLTProcessor.h"
+
+/**
+ * @class AliHLTAltroChannelSelectorComponent
+ * A converter for digit data of the TPC input to ASCII output.
+ * Data is written to file.
+ * 
+ * Component ID: \b AltroChannelSelector <br>
+ * Library: \b libAliHLTTPC
+ *
+ * Mandatory arguments: <br>
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ *
+ * Optional arguments: <br>
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ *
+ */
+class AliHLTAltroChannelSelectorComponent : public AliHLTProcessor {
+ public:
+  /** default constructor */
+  AliHLTAltroChannelSelectorComponent();
+  /** destructor */
+  virtual ~AliHLTAltroChannelSelectorComponent();
+
+  // interface functions: property getters
+  const char* GetComponentID();
+  void GetInputDataTypes(AliHLTComponentDataTypeList& list);
+  AliHLTComponentDataType GetOutputDataType();
+  void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
+  AliHLTComponent* Spawn();
+
+ protected:
+  // interface functions: processing
+  int DoInit(int argc, const char** argv);
+  int DoDeinit();
+  int DoEvent(const AliHLTComponentEventData& evtData,
+             const AliHLTComponentBlockData* blocks, 
+             AliHLTComponentTriggerData& trigData,
+             AliHLTUInt8_t* outputPtr, 
+             AliHLTUInt32_t& size,
+             AliHLTComponentBlockDataList& outputBlocks );
+
+ private:
+  /** copy constructor prohibited */
+  AliHLTAltroChannelSelectorComponent(const AliHLTAltroChannelSelectorComponent&);
+  /** assignment operator prohibited */
+  AliHLTAltroChannelSelectorComponent& operator=(const AliHLTAltroChannelSelectorComponent&);
+
+  ClassDef(AliHLTAltroChannelSelectorComponent, 0);
+};
+
+#endif
diff --git a/HLT/TPCLib/AliHLTTPCDigitDumpComponent.cxx b/HLT/TPCLib/AliHLTTPCDigitDumpComponent.cxx
new file mode 100644 (file)
index 0000000..550531a
--- /dev/null
@@ -0,0 +1,108 @@
+// $Id$
+
+/**************************************************************************
+ * This file is property of and copyright by the ALICE HLT Project        * 
+ * ALICE Experiment at CERN, All rights reserved.                         *
+ *                                                                        *
+ * Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no>        *
+ *                  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   AliHLTTPCDigitDumpComponent.cxx
+    @author Matthias Richter
+    @date   
+    @brief  Special file writer converting TPC digit input to ASCII. */
+
+// 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 "AliHLTTPCDigitDumpComponent.h"
+
+/** ROOT macro for the implementation of ROOT specific class methods */
+ClassImp(AliHLTTPCDigitDumpComponent)
+
+AliHLTTPCDigitDumpComponent::AliHLTTPCDigitDumpComponent()
+  :
+  AliHLTFileWriter()
+{
+  // see header file for class documentation
+  // or
+  // refer to README to build package
+  // or
+  // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+}
+
+AliHLTTPCDigitDumpComponent::~AliHLTTPCDigitDumpComponent()
+{
+  // see header file for class documentation
+}
+
+const char* AliHLTTPCDigitDumpComponent::GetComponentID()
+{
+  // see header file for class documentation
+  return "TPCDigitDump";
+}
+
+void AliHLTTPCDigitDumpComponent::GetInputDataTypes( vector<AliHLTComponentDataType>& list)
+{
+  // see header file for class documentation
+  list.clear();
+  list.push_back(kAliHLTAnyDataType);
+}
+
+AliHLTComponent* AliHLTTPCDigitDumpComponent::Spawn()
+{
+  // see header file for class documentation
+  return new AliHLTTPCDigitDumpComponent;
+}
+
+int AliHLTTPCDigitDumpComponent::InitWriter()
+{
+  // see header file for class documentation
+  return 0;
+}
+
+int AliHLTTPCDigitDumpComponent::ScanArgument(int argc, const char** argv)
+{
+  // see header file for class documentation
+  int iResult=0;
+  TString argument="";
+  for (int i=0; i<argc && iResult>=0; i++) {
+    argument=argv[i];
+    if (argument.IsNull()) continue;
+
+    //
+    if (argument.CompareTo("-whatsoever")==0) {
+    } else {
+      iResult=-EINVAL;
+    }
+  }
+
+  return iResult;
+}
+
+int AliHLTTPCDigitDumpComponent::CloseWriter()
+{
+  // see header file for class documentation
+  return 0;
+}
+
+int AliHLTTPCDigitDumpComponent::DumpEvent( const AliHLTComponentEventData& evtData,
+                        const AliHLTComponentBlockData* blocks, 
+                        AliHLTComponentTriggerData& trigData )
+{
+  // see header file for class documentation
+  int iResult=0;
+  return iResult;
+}
diff --git a/HLT/TPCLib/AliHLTTPCDigitDumpComponent.h b/HLT/TPCLib/AliHLTTPCDigitDumpComponent.h
new file mode 100644 (file)
index 0000000..ac6e965
--- /dev/null
@@ -0,0 +1,71 @@
+//-*- Mode: C++ -*-
+// @(#) $Id$
+
+#ifndef ALIHLTTPCDIGITDUMPCOMPONENT_H
+#define ALIHLTTPCDIGITDUMPCOMPONENT_H
+/* This file is property of and copyright by the ALICE HLT Project        * 
+ * ALICE Experiment at CERN, All rights reserved.                         *
+ * See cxx source for full Copyright notice                               */
+
+/** @file   AliHLTTPCDigitDumpComponent.h
+    @author Matthias Richter
+    @date   
+    @brief  Special file writer converting TPC digit input to ASCII.
+*/
+
+// see below for class documentation
+// or
+// refer to README to build package
+// or
+// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt   
+
+#include "AliHLTFileWriter.h"
+
+/**
+ * @class AliHLTTPCDigitDumpComponent
+ * A converter for digit data of the TPC input to ASCII output.
+ * Data is written to file.
+ * 
+ * Component ID: \b TPCDigitDump <br>
+ * Library: \b libAliHLTTPC
+ *
+ * See AliHLTFileWriter for arguments, further specific options
+ * Mandatory arguments: <br>
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ *
+ * Optional arguments: <br>
+ * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
+ *
+ */
+class AliHLTTPCDigitDumpComponent : public AliHLTFileWriter {
+ public:
+  /** default constructor */
+  AliHLTTPCDigitDumpComponent();
+  /** destructor */
+  virtual ~AliHLTTPCDigitDumpComponent();
+
+  // interface functions: property getters
+  virtual const char* GetComponentID();
+  virtual void GetInputDataTypes(AliHLTComponentDataTypeList& list);
+  virtual AliHLTComponent* Spawn();
+
+ protected:
+  // interface functions: processing
+  virtual int InitWriter();
+  virtual int CloseWriter();
+  virtual int DumpEvent( const AliHLTComponentEventData& evtData,
+                        const AliHLTComponentBlockData* blocks, 
+                        AliHLTComponentTriggerData& trigData );
+  virtual int ScanArgument(int argc, const char** argv);
+
+ private:
+  /** copy constructor prohibited */
+  AliHLTTPCDigitDumpComponent(const AliHLTTPCDigitDumpComponent&);
+  /** assignment operator prohibited */
+  AliHLTTPCDigitDumpComponent& operator=(const AliHLTTPCDigitDumpComponent&);
+
+  ClassDef(AliHLTTPCDigitDumpComponent, 0);
+};
+
+#endif
index 98a4dac0e990704a946ea06b1a19ce9f9e72dcab..6663dc08a3d875eee6d43c8e25dd2408a8adb13a 100644 (file)
@@ -3,60 +3,6 @@
 
 include $(MODDIR)/hlt.conf
 
-MODULE_SRCS=   AliHLTTPCLog.cxx \
-               AliHLTTPCAgent.cxx \
-               AliHLTTPCTransform.cxx \
-               AliHLTTPCMemHandler.cxx \
-               AliHLTTPCDataCompressorHelper.cxx \
-               AliHLTTPCFitter.cxx \
-               AliHLTTPCFileHandler.cxx \
-               AliHLTTPCBenchmark.cxx \
-               AliHLTTPCClusterFinder.cxx \
-               AliHLTTPCDigitReader.cxx \
-               AliHLTTPCDigitReaderPacked.cxx \
-               AliHLTTPCDigitReaderUnpacked.cxx \
-               AliHLTTPCDigitReaderRaw.cxx \
-               AliHLTTPCVertex.cxx \
-               AliHLTTPCVertexArray.cxx \
-               AliHLTTPCVertexFinder.cxx \
-               AliHLTTPCTrackArray.cxx \
-               AliHLTTPCTrack.cxx \
-               offline/AliHLTTPCDigitPublisherComponent.cxx \
-               AliHLTTPCClusters.cxx \
-               AliHLTTPCConfMapFit.cxx \
-               AliHLTTPCConfMapTrack.cxx \
-               AliHLTTPCConfMapPoint.cxx \
-               AliHLTTPCConfMapper.cxx \
-               AliHLTTPCModelTrack.cxx \
-               AliHLTTPCMerger.cxx \
-               AliHLTTPCTrackMerger.cxx \
-               AliHLTTPCGlobalMerger.cxx \
-               AliHLTTPCInterMerger.cxx \
-               AliHLTTPCPad.cxx \
-               AliHLTTPCPadArray.cxx \
-               AliHLTTPCDefinitions.cxx \
-               AliHLTTPCRawDataUnpackerComponent.cxx \
-               AliHLTTPCClusterFinderComponent.cxx \
-               AliHLTTPCVertexFinderComponent.cxx \
-               AliHLTTPCSliceTrackerComponent.cxx \
-               AliHLTTPCGlobalMergerComponent.cxx \
-               AliHLTTPCEsdWriterComponent.cxx \
-               AliHLTTPCCalibPedestalComponent.cxx \
-               AliHLTTPCCalibPulserComponent.cxx
-
-#              AliHLTTPCDDLDataFileHandler.cxx
-#              tracking/AliHLTTPCHough.cxx \
-#              tracking/AliHLTTPCHoughTrack.cxx \
-#              tracking/AliHLTTPCHoughEval.cxx \
-#              tracking/AliHLTTPCHoughTracker.cxx \
-#              tracking/AliHLTTPCHoughTransformer.cxx \
-#              tracking/AliHLTTPCHoughTransformerRow.cxx \
-#              tracking/AliHLTTPCHoughKalmanTrack.cxx \
-#              tracking/AliHLTTPCHoughMaxFinder.cxx \
-#              tracking/AliHLTTPCHistogram.cxx \
-#              tracking/AliHLTTPCHistogram1D.cxx \
-#              tracking/AliHLTTPCHistogramAdaptive.cxx
-
 CLASS_HDRS:=   AliHLTTPCTransform.h \
                AliHLTTPCAgent.h \
                AliHLTTPCMemHandler.h \
@@ -69,6 +15,8 @@ CLASS_HDRS:=          AliHLTTPCTransform.h \
                AliHLTTPCDigitReaderPacked.h \
                AliHLTTPCDigitReaderUnpacked.h \
                AliHLTTPCDigitReaderRaw.h \
+               AliHLTTPCDigitDumpComponent.h \
+               AliHLTAltroChannelSelectorComponent.h \
                AliHLTTPCVertex.h \
                AliHLTTPCVertexArray.h \
                AliHLTTPCVertexFinder.h \
@@ -87,7 +35,6 @@ CLASS_HDRS:=          AliHLTTPCTransform.h \
                AliHLTTPCInterMerger.h \
                AliHLTTPCPad.h \
                AliHLTTPCPadArray.h \
-               AliHLTTPCSpacePointData.h \
                AliHLTTPCDefinitions.h \
                AliHLTTPCRawDataUnpackerComponent.h \
                AliHLTTPCClusterFinderComponent.h \
@@ -113,9 +60,13 @@ CLASS_HDRS:=        AliHLTTPCTransform.h \
 #              tracking/AliHLTTPCHistogram1D.h \
 #              tracking/AliHLTTPCHistogramAdaptive.h
 
+MODULE_SRCS=   $(CLASS_HDRS:.h=.cxx) \
+               AliHLTTPCLog.cxx
+
 MODULE_HDRS:=  $(CLASS_HDRS) \
                AliHLTTPCLog.h \
                AliHLTTPCLogging.h \
+               AliHLTTPCSpacePointData.h \
                AliHLTTPCRootTypes.h \
                AliHLTTPCDigitData.h \
                AliHLTTPCTrackSegmentData.h \