00001 00007 #ifndef CONVERTDATA_h 00008 #define CONVERTDATA_h 00009 00010 #include "BaseModule.hh" 00011 #include <map> 00012 00013 class V172X_Params; 00019 class runinfo; 00020 class ConvertData : public BaseModule 00021 { 00022 public: 00023 ConvertData(); 00024 ~ConvertData(); 00025 00026 int Initialize(); 00027 int Finalize(); 00028 int Process(EventPtr event); 00029 00030 static const std::string GetDefaultName(){ return "ConvertData";} 00031 00032 void SetHeadersOnly(bool setval = true){ _headers_only = setval; } 00033 bool GetHeadersOnly() const { return _headers_only; } 00034 00035 void SetChOffset(int chan, double offset){ _offsets[chan] = offset; } 00036 double GetChOffset(int chan){ return _offsets[chan]; } 00037 std::map<int,double>* GetChOffsetMap(){ return &_offsets;} 00038 00039 private: 00040 int DecodeV172XData(const unsigned char* rawdata, uint32_t datasize, 00041 EventDataPtr data); 00042 00043 uint64_t start_time; 00044 uint64_t previous_event_time; 00045 std::map<int,double> _offsets; 00046 V172X_Params* _v172X_params; 00047 runinfo* _info; 00048 long _id_mismatches; 00049 bool _headers_only; 00050 public: 00051 00052 }; 00053 00054 #endif