00001 /* @version $Revision: 1852 $ * @modifiedby $Author: jacquem $ * @lastmodified $Date: 2012-08-22 10:44:30 +0200 (Wed, 22 Aug 2012) $ */ 00002 00003 #ifndef MICROROCOLDLABVIEWREADER_HH 00004 #define MICROROCOLDLABVIEWREADER_HH 00005 00006 ////////////////////////////////////////////////////////////////////////// 00007 // // 00008 // MicrorocOldLabviewReader for MICROMEGAS READOUT // 00009 // From Labview and Crossdaq DAQ 00010 // // 00011 ////////////////////////////////////////////////////////////////////////// 00012 00013 #include "mTypes.h" 00014 #include "MicrorocReader.hh" 00015 #include <map> 00016 00017 #define LABVIEWOLDMR "labviewOldMR" 00018 #define NBLINE 4 00019 #define NBCHIP 16 00020 #define NBCHANNEL 64 00021 00022 00023 class Run; 00024 class Event; 00025 class Detector; 00026 00027 #include <set> 00028 00029 ////////////////////////////////////////////////////////////////////////// 00030 /// CLASS DATAREADER // 00031 ////////////////////////////////////////////////////////////////////////// 00032 class MicrorocOldLabviewReader : public MicrorocReader { 00033 public: 00034 MicrorocOldLabviewReader(Run& aRun, FILE *aFile, ui32 lastEventId); 00035 ~MicrorocOldLabviewReader(); 00036 static const char *type(const int subtype = 0) { return LABVIEWOLDMR; }; 00037 00038 int getScData(); 00039 int getNextEvent(Event& eventToFill) ; 00040 int getAcqData(Event& event,bool tempExist = false) ; 00041 int getAnalogData(Event& event) ; 00042 00043 private: 00044 //void getCellFromChipId(cell_t &cell, i32 difId, i32 chipId); 00045 00046 00047 private: 00048 //ui16 analogData[NBLINE][NBCHIP][NBCHANNEL]; 00049 std::map<ui16,std::map<ui16,ui16> >analogData; //first key is chip Id, second one is channel Id. Data is channel analog value 00050 //i16 getAnalogValue(i32 chipId,ui32 channel,ui16 nbChipPerLine); 00051 ui16 nbChipPerLine; 00052 bool analogDataActivate; 00053 bool analogDataActivatedLine[NBLINE]; 00054 00055 ui32 hexTemperatureAsu1; 00056 ui32 hexTemperatureAsu2; 00057 ui16 hexTemperatureDif; 00058 00059 bool forceAnalog; 00060 00061 00062 00063 }; // class MicrorocOldLabviewReader 00064 00065 #endif 00066