1 #ifndef ALIHLTPHOSFILEWRITERCOMPONENT_H
2 #define ALIHLTPHOSFILEWRITERCOMPONENT_H
4 //#include "AliHLTPHOSDefinitions.h"
6 #include "AliHLTPHOSCommonDefs.h"
8 #include "AliHLTFileWriter.h"
12 class AliRawReaderMemory;
13 class AliCaloRawStream;
14 class AliHLTPHOSRcuCellEnergyDataStruct;
15 class AliHLTPHOSFileWriterComponent;
16 class AliHLTPHOSDDLPackedFileWriter;
17 class AliHLTPHOSCellEnergiesFileWriter;
18 //class AliHLTFileWriter;
20 class AliHLTPHOSFileWriterComponent:public AliHLTFileWriter
23 AliHLTPHOSFileWriterComponent();
24 virtual ~AliHLTPHOSFileWriterComponent();
25 int AddDataType(string dataType);
27 virtual int DoDeinit();
28 virtual const char* GetComponentID();
29 virtual void GetInputDataTypes( vector <AliHLTComponentDataType>&);
30 virtual AliHLTComponentDataType GetOutputDataType();
31 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
32 virtual AliHLTComponent* Spawn();
37 Bool_t IsRegisteredDataType(const AliHLTComponentDataType&);
38 AliHLTPHOSFileWriterComponent(const AliHLTPHOSFileWriterComponent & );
39 AliHLTPHOSFileWriterComponent & operator = (const AliHLTPHOSFileWriterComponent)
43 AliHLTPHOSCellEnergiesFileWriter *fCellEnergiesFileWriterPtr; /**<to write celle energies to files*/
44 AliHLTPHOSDDLPackedFileWriter *fDDLPackedFileWriterPtr ; /**<to write untouched DDL raw data to files*/
45 string fDirectory; /**<target directory for files*/
46 string fFilename; /**<the basename of the output file*/
47 AliHLTComponentDataType fDataTypesToFile[N_DATATYPES]; /**<Array for registering datatypes that should be written to files*/
48 int fEventCount; /**<Event counter*/
49 static const AliHLTComponentDataType fgkInputDataTypes[]; /**<Datatypes that can be given as input to this component*/