]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSFileWriterComponent.h
New class structure
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSFileWriterComponent.h
CommitLineData
f4d27262 1#ifndef ALIHLTPHOSFILEWRITERCOMPONENT_H
2#define ALIHLTPHOSFILEWRITERCOMPONENT_H
acd526ae 3
d504c864 4//#include "AliHLTPHOSDefinitions.h"
f4d27262 5#include <string>
6#include "AliHLTPHOSCommonDefs.h"
f4d27262 7#include "Rtypes.h"
6a8ab2ab 8#include "AliHLTFileWriter.h"
d504c864 9#include <vector>
6a8ab2ab 10
05be0766 11
45c8f2b2 12class AliRawReaderMemory;
13class AliCaloRawStream;
f4d27262 14class AliHLTPHOSRcuCellEnergyDataStruct;
45c8f2b2 15class AliHLTPHOSFileWriterComponent;
d504c864 16class AliHLTPHOSDDLPackedFileWriter;
17class AliHLTPHOSCellEnergiesFileWriter;
18//class AliHLTFileWriter;
05be0766 19
6a8ab2ab 20class AliHLTPHOSFileWriterComponent:public AliHLTFileWriter
acd526ae 21{
22 public:
23 AliHLTPHOSFileWriterComponent();
f4d27262 24 virtual ~AliHLTPHOSFileWriterComponent();
25 int AddDataType(string dataType);
f4d27262 26 virtual int Deinit();
27 virtual int DoDeinit();
f4d27262 28 virtual const char* GetComponentID();
d504c864 29 virtual void GetInputDataTypes( std::vector <AliHLTComponentDataType>&);
f4d27262 30 virtual AliHLTComponentDataType GetOutputDataType();
31 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
32 virtual AliHLTComponent* Spawn();
acd526ae 33
f4d27262 34 protected:
acd526ae 35
f4d27262 36 private:
6a8ab2ab 37 Bool_t IsRegisteredDataType(const AliHLTComponentDataType&);
f4d27262 38 AliHLTPHOSFileWriterComponent(const AliHLTPHOSFileWriterComponent & );
39 AliHLTPHOSFileWriterComponent & operator = (const AliHLTPHOSFileWriterComponent)
40 {
41 return *this;
42 };
d504c864 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*/
acd526ae 50};
acd526ae 51#endif