deactivate eStringUsi datatype, template parametrization for tdm overview

This commit is contained in:
Mario Fink 2021-01-22 17:40:39 +01:00
parent 44ab3645e8
commit 665b93be3f
4 changed files with 41 additions and 124 deletions

View File

@ -302,7 +302,7 @@ const std::vector<tdm_datatype> tdm_datatypes = {
{"eFloat32Usi","DT_FLOAT",3,"float_sequence",4,"32 bit float"},
{"eFloat64Usi","DT_DOUBLE",7,"double_sequence",8,"64 bit double"},
{"eStringUsi","DT_STRING",1,"string_sequence",0,"text"}
// {"eStringUsi","DT_STRING",1,"string_sequence",0,"text"}
};

View File

@ -408,10 +408,6 @@ void tdm_reaper::process_localcolumns(bool showlog)
}
std::string dt = tdmchannels_.at(locc.measurement_quantity_).datatype_;
std::string sequence_type;
// for( auto itd = std::begin(tdm_datatypes); itd != std::end(tdm_datatypes); ++itd)
// {
// if ( dt == itd->channel_datatype_ ) sequence_type = itd->value_sequence_;
// }
if ( tdmdt_chan_.count(dt) != 1 )
{
throw std::runtime_error(std::string("datatype: ") + dt
@ -484,37 +480,8 @@ std::string tdm_reaper::get_channel_overview(format chformatter)
return channels_summary;
}
std::string tdm_reaper::get_submatrix_overview(format formatter)
{
// summarize all output in single string
std::string submatrix_summary;
// set tabular mode of formatter
formatter.set_tabular(true);
// compose header
formatter.set_header(true);
submatrix sbm;
submatrix_summary += sbm.get_info(formatter);
std::string rule;
for ( unsigned long int i = 0; i < submatrix_summary.size(); i++ )
{
rule += std::string("-");
}
submatrix_summary += std::string("\n") + rule + std::string("\n");
formatter.set_header(false);
for (std::map<std::string,submatrix>::iterator it=submatrices_.begin();
it!=submatrices_.end(); ++it)
{
submatrix_summary += it->second.get_info(formatter);
submatrix_summary += std::string("\n");
}
return submatrix_summary;
}
std::string tdm_reaper::get_localcolumn_overview(format formatter)
template<typename tdmelement>
std::string tdm_reaper::get_overview(format formatter)
{
// summarize all output in single string
std::string summary;
@ -524,8 +491,8 @@ std::string tdm_reaper::get_localcolumn_overview(format formatter)
// compose header
formatter.set_header(true);
localcolumn lc;
summary += lc.get_info(formatter);
tdmelement tdmel;
summary += tdmel.get_info(formatter);
std::string rule;
for ( unsigned long int i = 0; i < summary.size(); i++ )
{
@ -533,90 +500,46 @@ std::string tdm_reaper::get_localcolumn_overview(format formatter)
}
summary += std::string("\n") + rule + std::string("\n");
// write body of summary with data
formatter.set_header(false);
for (std::map<std::string,localcolumn>::iterator it=localcolumns_.begin();
it!=localcolumns_.end(); ++it)
{
summary += it->second.get_info(formatter);
summary += std::string("\n");
}
this->summarize_member(tdmel,summary,formatter);
return summary;
}
std::string tdm_reaper::get_block_overview(format formatter)
template std::string tdm_reaper::get_overview<submatrix>(format formatter);
template std::string tdm_reaper::get_overview<localcolumn>(format formatter);
template std::string tdm_reaper::get_overview<block>(format formatter);
void tdm_reaper::summarize_member(submatrix sbm, std::string& summary, format& formatter)
{
// summarize all output in single string
std::string summary;
// set tabular mode of formatter
formatter.set_tabular(true);
// compose header
formatter.set_header(true);
block blk;
summary += blk.get_info(formatter);
std::string rule;
for ( unsigned long int i = 0; i < summary.size(); i++ )
{
rule += std::string("-");
}
summary += std::string("\n") + rule + std::string("\n");
formatter.set_header(false);
for (std::map<std::string,block>::iterator it=tdx_blocks_.begin();
it!=tdx_blocks_.end(); ++it)
for ( std::map<std::string,submatrix>::iterator it=this->submatrices_.begin();
it!=this->submatrices_.end(); ++it)
{
summary += it->second.get_info(formatter);
summary += std::string("\n");
}
return summary;
}
// template<typename tdmelement>
// std::string tdm_reaper::get_overview(format formatter)
// {
// // summarize all output in single string
// std::string summary;
//
// // set tabular mode of formatter
// formatter.set_tabular(true);
//
// // compose header
// formatter.set_header(true);
// tdmelement tdmel;
// summary += tdmel.get_info(formatter);
// std::string rule;
// for ( unsigned long int i = 0; i < summary.size(); i++ )
// {
// rule += std::string("-");
// }
// summary += std::string("\n") + rule + std::string("\n");
//
// formatter.set_header(false);
// std::map<std::string,tdmelement> thedat = this->get_tdm_member<tdmelement>(tdmel);
// for ( std::map<std::string,tdmelement> el: thedat )
// {
// summary += el->second.get_info(formatter) + std::string("\n");
// }
// // for (std::map<std::string,tdmelement>::iterator it=thedat.begin();
// // it!=thedat.end(); ++it)
// // {
// // summary += it->second.get_info(formatter);
// // summary += std::string("\n");
// // }
//
// return summary;
// }
//
// template<typename tdmelement>
// std::map<std::string,tdmelement> tdm_reaper::get_tdm_member(block blk)
// {
// return this->tdx_blocks_;
// }
//
// template std::string tdm_reaper::get_overview<block>(format formatter);
void tdm_reaper::summarize_member(localcolumn lcc, std::string& summary, format& formatter)
{
for ( std::map<std::string,localcolumn>::iterator it=this->localcolumns_.begin();
it!=this->localcolumns_.end(); ++it)
{
summary += it->second.get_info(formatter);
summary += std::string("\n");
}
}
void tdm_reaper::summarize_member(block blk, std::string& summary, format& formatter)
{
for ( std::map<std::string,block>::iterator it=this->tdx_blocks_.begin();
it!=this->tdx_blocks_.end(); ++it)
{
summary += it->second.get_info(formatter);
summary += std::string("\n");
}
}
// -------------------------------------------------------------------------- //

View File

@ -155,13 +155,11 @@ public:
std::string get_channel_overview(format chformatter);
// get block/submatrix/localcolumn overview
// template<typename tdmelement>
// std::string get_overview(format formatter);
// template<typename tdmelement>
// std::map<std::string,tdmelement> get_tdm_member(block blk);
std::string get_submatrix_overview(format formatter);
std::string get_localcolumn_overview(format formatter);
std::string get_block_overview(format formatter);
template<typename tdmelement>
std::string get_overview(format formatter);
void summarize_member(submatrix sbm, std::string& summary, format& formatter);
void summarize_member(localcolumn lcc, std::string& summary, format& formatter);
void summarize_member(block blk, std::string& summary, format& formatter);
// get list of channelgroup ids
std::vector<std::string> get_channelgroup_ids()
@ -184,12 +182,8 @@ public:
}
// extract channel by id
// template<typename tdmtype>
std::vector<tdmdatatype> get_channel(std::string& id);
// (TODO introduce template T to reference specific datatype instead of double in general)
// std::vector<double> get_channel(std::string &id);
void print_channel(std::string &id, const char* filename);
private:

View File

@ -197,9 +197,9 @@ int main(int argc, char* argv[])
// get complete submatrix/localcolumns overview
format formatter(18,false,false,' ');
std::cout<<jack.get_submatrix_overview(formatter)<<"\n";
std::cout<<jack.get_localcolumn_overview(formatter)<<"\n";
std::cout<<jack.get_block_overview(formatter)<<"\n";
std::cout<<jack.get_overview<submatrix>(formatter)<<"\n";
std::cout<<jack.get_overview<localcolumn>(formatter)<<"\n";
std::cout<<jack.get_overview<block>(formatter)<<"\n";
std::string chid("usi14");
std::vector<tdmdatatype> chdata = jack.get_channel(chid);