$treeview $search $mathjax $extrastylesheet
otsdaq_components
v2_03_00
$projectbrief
|
$projectbrief
|
$searchbox |
00001 #ifndef _ots_FSSRROCDEfinitions_h_ 00002 #define _ots_FSSRROCDEfinitions_h_ 00003 00004 #include "otsdaq-components/DetectorHardware/VROCDefinitions.h" 00005 //#include "otsdaq-core/BitManipulator/BitManipulator.h" 00006 //#include "otsdaq/DAQHardware/FSSRFirmwareDefinitions.h" 00007 //#include "otsdaq/DAQHardware/FSSRFirmware.h" 00008 //#include "otsdaq-core/DataTypes/DataTypes.h" 00009 //#include "otsdaq-core/ConfigurationInterface/ROCStream.h" 00010 00011 #include <stdint.h> 00012 #include <string> 00013 00014 namespace ots 00015 { 00016 class FSSRROCDefinitions : public VROCDefinitions 00017 { 00018 public: 00019 FSSRROCDefinitions(); 00020 virtual ~FSSRROCDefinitions(void); 00021 00022 static uint64_t makeDACWriteHeader( 00023 int chipId, 00024 const std::string& registerName); // Does not work for SendData and RejectHits 00025 static uint64_t makeDACSetHeader( 00026 int chipId, 00027 const std::string& registerName); // Only works for SendData and RejectHits 00028 static uint64_t makeDACResetHeader( 00029 int chipId, 00030 const std::string& registerName); // Only works for SendData and RejectHits 00031 static uint64_t makeDACReadHeader( 00032 int chipId, 00033 const std::string& registerName); // Does not work for SendData and RejectHits 00034 static uint64_t makeDACWriteCommand(int chipId, 00035 const std::string& registerName, 00036 unsigned int valueToWrite); 00037 static uint64_t makeDACReadCommand(int chipId, const std::string& registerName); 00038 static std::string makeMaskWriteCommand(int chipId, 00039 const std::string& registerName, 00040 std::string valueToWrite); 00041 static uint64_t makeMaskReadCommand(int chipId, const std::string& registerName); 00042 00043 uint64_t setSendData(int chipId); 00044 uint64_t resetSendData(int chipId); 00045 uint64_t setRejectHits(int chipId); 00046 uint64_t resetRejectHits(int chipId); 00047 00048 private: 00049 static uint64_t makeDACHeader(int chipId, 00050 const std::string& registerName, 00051 unsigned int instruction); 00052 static unsigned int getDACRegisterAddress(const std::string& registerName); 00053 enum 00054 { 00055 write = 1, 00056 set = 2, 00057 read = 4, 00058 reset = 5, 00059 setDefault = 6 00060 }; 00061 }; 00062 } 00063 00064 #endif