00001 #ifndef TrigConf_CTPFiles
00002 #define TrigConf_CTPFiles
00003
00004 #include <string>
00005 #include <inttypes.h>
00006 #include <sys/types.h>
00007 #include <vector>
00008 #include "TrigConfL1Data/L1DataBaseclass.h"
00009
00010 namespace TrigConf {
00011
00012 class CTPFiles : public L1DataBaseclass {
00013
00014 public:
00015 static u_int ALL_CTPCORELUT_SIZE;
00016 static u_int ALL_CTPCORECAM_SIZE;
00017
00018 static u_int ALL_CTPINMONSEL_SIZE;
00019 static u_int ALL_CTPINMONDEC_SIZE;
00020
00021 static u_int CTPMON_MUX_OUTPUT_NUMBER;
00022 static u_int CTPMON_ADDRESS_SELECTOR_NUMBER;
00023 static u_int ALL_CTPMONSELECTOR_SIZE;
00024 static u_int ALL_CTPMONDECODER_SIZE;
00025
00026
00027 CTPFiles();
00028 ~CTPFiles();
00029
00030
00031 void setFileSizes(unsigned int run);
00032
00033
00034 const std::vector<uint32_t> & ctpcoreLUT() const;
00035 void setCtpcoreLUT( const std::vector<u_int>& vec);
00036
00037
00038 const std::vector<uint32_t> & ctpcoreCAM() const;
00039 void setCtpcoreCAM( const std::vector<u_int>& vec );
00040
00041
00042 const std::vector<uint32_t> & ctpinMonSelectorSlot7() const;
00043 void setCtpinMonSelectorSlot7( const std::vector<u_int>& vec );
00044
00045 const std::vector<uint32_t> & ctpinMonSelectorSlot8() const;
00046 void setCtpinMonSelectorSlot8( const std::vector<u_int>& vec );
00047
00048 const std::vector<uint32_t> & ctpinMonSelectorSlot9() const;
00049 void setCtpinMonSelectorSlot9( const std::vector<u_int>& vec );
00050
00051
00052 const std::vector<uint32_t> & ctpmonSelector() const;
00053 void setCtpmonSelector( const std::vector<u_int>& vec );
00054
00055
00056 const std::vector<uint32_t> & ctpinMonDecoderSlot7() const;
00057 void setCtpinMonDecoderSlot7( const std::vector<u_int>& vec );
00058
00059
00060 const std::vector<uint32_t> & ctpinMonDecoderSlot8() const;
00061 void setCtpinMonDecoderSlot8( const std::vector<u_int>& vec );
00062
00063
00064 const std::vector<uint32_t> & ctpinMonDecoderSlot9() const;
00065 void setCtpinMonDecoderSlot9( const std::vector<u_int>& vec );
00066
00067
00068 const std::vector<uint32_t> & ctpmonDecoder() const;
00069 void setCtpmonDecoder( const std::vector<u_int>& vec );
00070
00071 int lvl1MasterTableId() const {return m_Lvl1MasterTableId;}
00072 void setLvl1MasterTableId (const int& id){m_Lvl1MasterTableId=id;}
00073
00074 int smxId() const {return m_smxId;}
00075 void setSmxId (const int& id){m_smxId=id;}
00076
00077 const std::string & smxName() const {return m_smxName;}
00078 void setSmxName (const std::string& str) {m_smxName = str;}
00079
00080 const std::string& ctpinSmxVhdlSlot7() const { return m_ctpinSmxVhdlSlot7; }
00081 const std::string& ctpinSmxVhdlSlot8() const { return m_ctpinSmxVhdlSlot8; }
00082 const std::string& ctpinSmxVhdlSlot9() const { return m_ctpinSmxVhdlSlot9; }
00083 const std::string& ctpinSmxSvfiSlot7() const { return m_ctpinSmxSvfiSlot7; }
00084 const std::string& ctpinSmxSvfiSlot8() const { return m_ctpinSmxSvfiSlot8; }
00085 const std::string& ctpinSmxSvfiSlot9() const { return m_ctpinSmxSvfiSlot9; }
00086 const std::string& ctpinSmxOutput() const { return m_ctpinSmxOutput; }
00087
00088 void setCtpinSmxVhdlSlot7(const std::string& str) {m_ctpinSmxVhdlSlot7 = str;}
00089 void setCtpinSmxVhdlSlot8(const std::string& str) {m_ctpinSmxVhdlSlot8 = str;}
00090 void setCtpinSmxVhdlSlot9(const std::string& str) {m_ctpinSmxVhdlSlot9 = str;}
00091 void setCtpinSmxSvfiSlot7(const std::string& str) {m_ctpinSmxSvfiSlot7 = str;}
00092 void setCtpinSmxSvfiSlot8(const std::string& str) {m_ctpinSmxSvfiSlot8 = str;}
00093 void setCtpinSmxSvfiSlot9(const std::string& str) {m_ctpinSmxSvfiSlot9 = str;}
00094 void setCtpinSmxOutput(const std::string& str) {m_ctpinSmxOutput = str;}
00095
00096 bool loadCtpcoreFiles() const {return m_LoadCtpcoreFiles;}
00097 void setLoadCtpcoreFiles (bool flag = true) { m_LoadCtpcoreFiles=flag; }
00098 bool loadCtpinFiles() const {return m_LoadCtpinFiles;}
00099 void setLoadCtpinFiles (bool flag = true) { m_LoadCtpinFiles=flag; }
00100 bool loadCtpmonFiles() const {return m_LoadCtpmonFiles;}
00101 void setLoadCtpmonFiles (bool flag = true) { m_LoadCtpmonFiles=flag; }
00102
00103 virtual void print(const std::string& indent="", unsigned int detail=1) const;
00104
00105 private:
00106 int m_Lvl1MasterTableId;
00107 std::vector<uint32_t> m_ctpcoreLUT;
00108 std::vector<uint32_t> m_ctpcoreCAM;
00109 std::vector<uint32_t> m_ctpinMonSelectorSlot7;
00110 std::vector<uint32_t> m_ctpinMonSelectorSlot8;
00111 std::vector<uint32_t> m_ctpinMonSelectorSlot9;
00112 std::vector<uint32_t> m_ctpmonSelector;
00113 std::vector<uint32_t> m_ctpinMonDecoderSlot7;
00114 std::vector<uint32_t> m_ctpinMonDecoderSlot8;
00115 std::vector<uint32_t> m_ctpinMonDecoderSlot9;
00116 std::vector<uint32_t> m_ctpmonDecoder;
00117
00118 int m_smxId;
00119 std::string m_smxName;
00120 std::string m_ctpinSmxVhdlSlot7;
00121 std::string m_ctpinSmxVhdlSlot8;
00122 std::string m_ctpinSmxVhdlSlot9;
00123 std::string m_ctpinSmxSvfiSlot7;
00124 std::string m_ctpinSmxSvfiSlot8;
00125 std::string m_ctpinSmxSvfiSlot9;
00126 std::string m_ctpinSmxOutput;
00127
00128 bool m_LoadCtpcoreFiles;
00129 bool m_LoadCtpinFiles;
00130 bool m_LoadCtpmonFiles;
00131 };
00132 }
00133 #endif
00134