26#define DECDATA_LEGACY_DB
36#ifdef DECDATA_LEGACY_DB
59#ifdef DECDATA_LEGACY_DB
62 fi = OpenDBFile(
"decdata.dat", date,
69#ifdef DECDATA_LEGACY_DB
74 return GetObjArrayString(params,pos);
85 const Int_t bufsiz = 256;
86 char* buf =
new char[bufsiz];
89 TString confkey[nkeys] = {
"multi",
"word",
"bit" };
93 while( ReadDBline(
file, buf, bufsiz, dbline) != EOF ) {
94 if( dbline.empty() )
continue;
97 unique_ptr<TObjArray> tokens(
line.Tokenize(
" \t") );
101 bool is_slot = (
GetString(params,1) ==
"crate" );
102 int idx = is_slot ? 0 : 1;
105 bool is_bit = ( is_slot &&
name.BeginsWith(
"bit") &&
name.Length() > 3 );
111 confval[idx] +=
name;
113 for(
int i = 2; i < 5; ++ i ) {
120 confval[idx] +=
"0 2000 ";
125 for(
int i = 0; i < nkeys; ++ i ) {
126 if( !confval[i].IsNull() )
127 configstr_map[confkey[i]] = confval[i];
138#ifdef DECDATA_LEGACY_DB
140 if( db_version == 1 )
153#ifdef DECDATA_LEGACY_DB
155 if( db_version == 1 ) {
159 configstr = found->second;
172#ifdef DECDATA_LEGACY_DB
180 while(
auto* dataloc =
static_cast<BdataLoc*
>( next() ) ) {
static Int_t ReadOldFormatDB(FILE *file, map< TString, TString > &configstr_map)
static TString & GetString(const TObjArray *params, Int_t pos)
virtual Int_t ReadDatabase(const TDatime &date)
virtual Int_t GetConfigstr(FILE *file, const TDatime &date, Int_t db_version, const BdataLoc::BdataLocType &loctype, TString &configstr)
virtual Int_t SetupDBVersion(FILE *file, Int_t db_version)
virtual const char * Here(const char *) const
virtual FILE * OpenFile(const TDatime &date)
virtual Int_t SetupDBVersion(FILE *file, Int_t db_version)
std::map< TString, TString > fConfigstrMap
virtual FILE * OpenFile(const TDatime &date)
THaDecData(const char *name="D", const char *description="Raw Hall A decoder data")
virtual Int_t ReadDatabase(const TDatime &date)
virtual Int_t GetConfigstr(FILE *file, const TDatime &date, Int_t db_version, const BdataLoc::BdataLocType &loctype, TString &configstr)
Bool_t IsEmpty() const override
Int_t GetLast() const override
const char * Data() const