Back Midas Rome Roody Rootana
  Midas DAQ System  Not logged in ELOG logo
Entry  24 Apr 2020, Pintaudi Giorgio, Forum, API to read MIDAS format file 
    Reply  24 Apr 2020, Stefan Ritt, Forum, API to read MIDAS format file 
       Reply  24 Apr 2020, Pintaudi Giorgio, Forum, API to read MIDAS format file 
          Reply  24 Apr 2020, Stefan Ritt, Forum, API to read MIDAS format file 
    Reply  25 Apr 2020, Konstantin Olchanski, Forum, API to read MIDAS format file 
       Reply  03 May 2020, Pintaudi Giorgio, Forum, API to read MIDAS format file 
          Reply  03 May 2020, Konstantin Olchanski, Forum, API to read MIDAS format file 
             Reply  04 May 2020, Pintaudi Giorgio, Forum, API to read MIDAS format file 
          Reply  03 May 2020, Stefan Ritt, Forum, API to read MIDAS format file ReferenceCardForMac.pdf
             Reply  26 May 2020, Pintaudi Giorgio, Forum, API to read MIDAS format file 
Message ID: 1902     Entry time: 03 May 2020     In reply to: 1901     Reply to this: 1904
Author: Konstantin Olchanski 
Topic: Forum 
Subject: API to read MIDAS format file 
>
> - One is to convert to SQL format and then use a SQLite library to import the data in my 
> application.
> 

You can also configure midas to write history directly to an SQLITE database. I have not used
it recently, but it should still work. In terms of efficiency, sqlite file size is about the same
as .hst files. sqlite file and table naming is similar to the SQL and FILE implementation.

(But note that back when I implemented the SQLITE history writer, sqlite database corruption
recovery instructions were "delete the file, restore from backup". And indeed in every test
experiment I tried, the sqlite history databases eventually corrupted themselves. You see
same thing with google-chrome, lots of sqlite errors (bad locking, corrupted table, etc)
in it's terminal output).

>
> - The other is to encapsulate the mhdump.cxx code into a C++ class, as you say.
> 

If I were to write this today, there would be a c++ class that takes a history file,
iterates over all records and calls "callback" classlets. You can see this in the history.h
(HistoryBufferInterface) and in the tmfe.h (RpcHandlerInterface, etc).

I think this style of OO programming originally comes from java. If you so desire,
an "mhdump" class could be a nice way to learn it.

> 
> PS some time ago, I don't remember if you or Stefan, recommended CLion as C++ IDE. I have tried it 
> (together with PyCharm) and I must admit that it is really good. It took me years to configure Emacs 
> as a IDE, while it took me minutes to have much better results in CLion. Thank you very much for 
> your recommendation.
>

I remember, years ago, the Borland TurboC IDE was like a gift from Gods. But today, I think IDEs have
declined in quality and usefulness. They clog the screen with too much eye candy and fluff, use hard
to read fonts and silly colours, insist on using tabs where I want spaces, reformat the text even as I type it,
and detract from productive work with distracting popups ("try this new function!", "let's upgrade now!").

For serious programming, I use emacs with minimal decorations. I can easily open 3 or 4 windows at the same
time and still have enough screen space left for a terminal to run "make". And it is the only editor that can
edit the same file in two or more windows at the same time. You do not know you need this until
you work on odb.cxx.

K.O.
ELOG V3.1.4-2e1708b5