////////////////////////////////////////////////////////////////////////////// // File: L1_Tcc_Monit_Data_Request.hpp // Created: 07-OCT-2001 Philippe Laurens (split away from Tcc_Monit_Data.hpp) ////////////////////////////////////////////////////////////////////////////// #ifndef __L1_Tcc_Monit_Data_Request__ #define __L1_Tcc_Monit_Data_Request__ ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// // Enumerated type to describe the Data Block type being requested // and specified in field ulBlock_Type of L1_Tcc_Monit_Request. // This block Type will also be returned by TCC to the client // in the field ulBlock_Type of Tcc_Block_Header. enum L1_Tcc_Block_Type { // eTcc_Block_Type_L1fw_Phase2 = 1, // now obsolete #ifdef TCC_SUPPORT_PHASE3_MONIT_DATA // becoming obsolete eTcc_Block_Type_L1fw_General = 2, // Implemented in Phase 3 eTcc_Block_Type_Per_Bunch_Scaler = 3, // Implemented in Phase 3 #endif // TCC_SUPPORT_PHASE3_MONIT_DATA eTcc_Block_Type_L1fw_Hsro = 4, // used by Trigger Expert eTcc_Block_Type_Luminosity_Brief = 5, // Implemented in Phase 5, same as pushed to Lum Server eTcc_Block_Type_Luminosity_Full = 6, // Implemented in Phase 5, same as pushed to Lum Server eTcc_Block_Type_Cal_TT_ADC = 7, // definition not yet final (missing global L1CT results) eTcc_Block_Type_Fw_Info_Brief = 8, // Implemented in Phase 6, general purpose, e.g. Daq_Monitor eTcc_Block_Type_Fw_Info_Full = 9, // used by Trigger Expert eTcc_Block_Type_Card_Info = 10,// used by Trigger Expert eTcc_Block_Type_L2HardScalers = 11 // Implemented in Phase 6, L2 Hardware Scalers } ; /////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////// // This is the Request packet expected by TCC's Monitoring Server /////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////// // We use the enumerated type L1_Tcc_Block_Type to request a particular Data Block Type: // the Monitoring client should send an ITC Opaque Message // to the TCC Monitoring Server at d0tcc1.fnal.gov and IP Port #52162 // with the following content struct L1_Tcc_Monit_Request { uint32 ulBlock_Type ; /* Use a value of enum type L1_Tcc_Block_Type */ // I don't think we need anything else at the moment // TCC can get source information from ITC // (what executable, what version, from where) } ; /////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////// // This is the Request packet expected by TCC's Luminosity Server /////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////// // We use the same protocol as for the Monitoring Server. // The Luminosity Client should send an ITC Opaque Message // to the TCC Luminosity Server at d0tcc1.fnal.gov and IP Port #52163 // Note that only a request of type eTcc_Block_Type_Luminosity_Full // is accepted on port #52163, and this request will also cause // a LBN Increment. // The same request for type eTcc_Block_Type_Luminosity_Full // on port #52162 will return the latest luminosity block // without incrementing the LBN. // When a Luminosity Client connects to port #52163 *AND* makes // a request of type eTcc_Block_Type_Luminosity_Full, TCC will start // pushing blocks of type eTcc_Block_Type_Luminosity_Full every 60 sec // (nominal), and blocks of type eTcc_Block_Type_Luminosity_Brief // every 5 sec (nominal). #define L1_Tcc_Luminosity_Request L1_Tcc_Monit_Request /////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////// // define alias for backwards compatibility typedef L1_Tcc_Block_Type Tcc_Block_Type ; typedef L1_Tcc_Monit_Request Tcc_Monit_Request ; typedef L1_Tcc_Luminosity_Request Tcc_Luminosity_Request ; /////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////// #endif // __L1_Tcc_Monit_Data_Request__