DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
ItemConversion Class Referenceabstract

#include <ItemConversion.hh>

Public Member Functions

virtual ~ItemConversion ()
 
size_t DataSize ()
 
std::string DataDescription ()
 
virtual void Convert (uint32_t src, void *dest)=0
 

Static Public Member Functions

static ItemConversionFromString (std::string convstring)
 

Protected Member Functions

 ItemConversion ()
 
 ItemConversion (boost::unordered_map< std::string, std::string >)
 

Protected Attributes

size_t data_size
 
std::string data_description
 

Detailed Description

Definition at line 7 of file ItemConversion.hh.

Constructor & Destructor Documentation

◆ ItemConversion() [1/2]

ItemConversion::ItemConversion ( )
inlineprotected

Definition at line 11 of file ItemConversion.hh.

11{}

◆ ItemConversion() [2/2]

ItemConversion::ItemConversion ( boost::unordered_map< std::string, std::string > )
inlineprotected

Definition at line 12 of file ItemConversion.hh.

13{ }

◆ ~ItemConversion()

virtual ItemConversion::~ItemConversion ( )
inlinevirtual

Definition at line 15 of file ItemConversion.hh.

15{ }

Member Function Documentation

◆ Convert()

virtual void ItemConversion::Convert ( uint32_t src,
void * dest )
pure virtual

◆ DataDescription()

std::string ItemConversion::DataDescription ( )
inline

Definition at line 19 of file ItemConversion.hh.

19 {
20 return data_description;
21 }
std::string data_description

◆ DataSize()

size_t ItemConversion::DataSize ( )
inline

Definition at line 16 of file ItemConversion.hh.

16 {
17 return data_size;
18 }

◆ FromString()

ItemConversion * ItemConversion::FromString ( std::string convstring)
static

Definition at line 37 of file conversions.cpp.

37 {
38 unordered_map<std::string, std::string> params;
39 int i = 0;
40 while (i < (int)convstring.size() && convstring[i]!=' ') i++;
41 std::string fnname = std::string(convstring.c_str(), i);
42 while (i < (int)convstring.size()) {
43 while (i < (int)convstring.size() && convstring[i]==' ') i++;
44 int pair_start = i;
45 while (i < (int)convstring.size() && convstring[i]!=' ') i++;
46 int pair_end = i;
47 int j = pair_start;
48 while (j < (int)convstring.size() && convstring[j]!='=') j++;
49 std::string key =
50 std::string(convstring.c_str(), pair_start, j-pair_start);
51 std::string value =
52 std::string(convstring.c_str(), j+1, pair_end-(j+1));
53 params[key]=value;
54 }
55
56
57// if (fnname==#name) return new itemconv::itemconv_##name(params);
58
59#define DEFINE_CONVERSION_CLASS(name,body) \
60 if (fnname==#name) { \
61 itemconv::itemconv_##name *c = new itemconv::itemconv_##name(); \
62 c->init(params); return c; }
64#undef DEFINE_CONVERSION_CLASS
65
66 return NULL;
67}

Member Data Documentation

◆ data_description

std::string ItemConversion::data_description
protected

Definition at line 10 of file ItemConversion.hh.

◆ data_size

size_t ItemConversion::data_size
protected

Definition at line 9 of file ItemConversion.hh.


The documentation for this class was generated from the following files: