Difference between revisions of "Midas documentation"

From MidasWiki
Jump to navigation Jump to search
 
(67 intermediate revisions by 4 users not shown)
Line 1: Line 1:
==[[Introduction]]==
+
{{Pagelinks}}
  
"MIDAS" is an acronym for Maximum Integrated Data Acquisition System.
 
  
It is a general-purpose software package for event-based data acquisition in small and medium scale Physics experiments.
 
Its development has been started at the Paul Scherrer Institute (Switzerland) and at TRIUMF (Canada) in 1993.
 
  
''' It is not to be mixed with MIDAS (Multi Instance Data Acquisition System) from UK or any of the MIDAS (Mobile Instrumentation Data Acquisition System) or MIDAS digital and analogue consoles or MIDAS Brakes and Mufflers! '''
 
  
MIDAS is based on a modular networking capable and central database system for data acquisition system. It consists of a collection of C, C++ code handling the main functionality required for data communication between the different acquisition nodes, data control for run operation, data distribution for online data analysis and more. It does also provide the appropriate tools for control and monitoring the run condition from a web application. Midas is supported on current OS such as UNIX-like (Linux, MacOS), Windows, VxWorks.
+
==Documentation organization==
 
+
Even after two versions of the Midas documentation, it is still a real challenge to describe the Midas package in a clear, concise and useful way. On this third attempt, we reworked the layout and placed everything on Wiki, hoping that collaborators will be keen to correct, add and improve its content. Feel free to do so by contacting us in case of unclear or incomplete information.
While the system is already in use in many laboratories, the development continues with addition of new features and tools. Recent developments involve multi-threading, FGPA/Linux support, MSCB extension. For the latest status, check the MIDAS home page: Switzerland , Canada
 
 
 
==[[History]]==
 
  
In the early '90s, based on a previous DAQ version of a Data Acquisition system running under MS-DOS with network capability (HIX), Dr. Stefan Ritt at Paul Sherrer Institut (Switzerland) started coding a new application which would be OS independent.
+
The documentation of the '''MIDAS code''' is still generated by Doxygen and can be found at
The requirements at that time were to be able to run on VMS, ULTRIX, VxWorks, Windows.
+
[http://ladd00.triumf.ca/~daqweb/doc/midas-devel/doc/html].
Initial use of Midas has been at Triumf (Vancouver, Canada) for the experimental facility "CHAOS". Network based the data were collected from a VME processor running VxWorks (collecting CAMAC, FastBus & VME data) and sending them to a backend computer (VMS, ULTRIX).
 
Since then, Midas has been deployed on all the major experiments at Triumf and PSI. Midas is used also used around the world
 
in over 80 locations from simple workbench test setups to world class experiments such as MEG (Switzerland), T2K (Japan), Twist (Canada), DANCE (USA).
 
  
==[[Documentation organization]]==
 
Even after two versions of the Midas documentation, it is still a real challenge to describe the Midas package in a clear, concise and useful way. On this third attempt, we reworked the layout and placed everything on Wiki, hoping that collaborators will be keen to correct, add and improve its content. Feel free to do so by contacting us in case of unclear or incomplete information.
 
  
 
We split the documentation in 4 main sections: '''Installation''', '''Feature listing''', '''Application listing''', '''Online Database'''.
 
We split the documentation in 4 main sections: '''Installation''', '''Feature listing''', '''Application listing''', '''Online Database'''.
While the first one provide you a mean to get Midas up and running, the 'Feature listing' should highlight what Midas can do and provide some general information on its implementation.
+
While the first one provides you a means to get Midas up and running, the '''Feature listing''' should highlight what Midas can do and provide some general information on its implementation.
The 'Application listing' refers to 'system- & user- build' applications that maybe needed during the acquisition. The 'Online Database' section describes in details the Midas central information database.  
+
The '''Application listing''' refers to 'system- & user- build' applications that maybe needed during the acquisition. The '''Online Database''' section describes in details the Midas central information database.  
Appendices as the last section collect references, and features information with the understanding that the reader is already familiar with the Midas environment.
+
Appendices as the last section collect references, and features information assuming that the reader is already familiar with the Midas environment.
 
 
A lot of information can be replicate in every section, but we try to minimize it by cross referencing elements between the different sections.
 
The hope is that once you found the feature that you need, the involved application and the activation of this feature with its online database section will be easily identifiable.
 
 
 
* '''Installation section'''
 
While originally Midas was available for all sorts of OS, now-a-days, we tend to reduce its support to Linux based, MacOS, and windows.
 
While 'Midas package retrieval' and 'quick start' sections are OS independent, specific procedure on OS based is given for compilation/build/dependencies.
 
This section also includes the environment variables available for a proper MIDAS-DAQ setup .
 
 
 
* '''Feature listing'''
 
Midas provides by default a complete DAQ system composed of i.e: Frontend template for acquiring your hardware information, data transfer mechanism to local/remote computer, data logging capability, data analysis framework, data monitoring, full run control, web interface for experiment control/monitoring.
 
While each of these features is described, other potentially useful but ''hidden'' options such as sub-run, messages, history, run sequencer, alarms, event notification, etc,  may be as well essential to your experiment. A list of such features with description, enabling method and operation is also provided.
 
 
 
* '''Application listing'''
 
Midas comes with a set of applications for monitoring and control of the acquisition system such as a central database editor (odbedit), webserver (mhttpd), data logger (mlogger) etc. This section describes each individual task and link to the corresponding features and online database entry managing such a feature.
 
 
 
The Midas distribution comes with an '''examples/''' directory containing specific application demo code. This list of templates is referred as well in this section.
 
 
 
* '''Online Database'''
 
The online database (ODB) is the DAQ central information hub for a given experiment. It contains all information related to the internal operation of the data acquisition and any user information related to the configuration of the experiment defined by the user. It is meant to be accessible by any midas client application connected to this experiment and by the user through a command line application (odbedit) or through a web interface (mhttpd). Features operation, applications configuration will need prior, during and after a run sequence, access to some of its information (ODB) to configure or report conditions of the feature to the user. Its content is organized with multiple directory levels filled with structure, arrays or single variables. While user can create new directories reflecting his hardware or analysis configuration, there are dedicated directories reserved for the core operation of the system (/SYSTEM/, /RUNINFO/, ...) but remain readable by the user.
 
  
Once the ODB structure is understood, it will become clear how to implement and extend its use.
+
A lot of information can be replicated in every section, but we try to minimize it by cross referencing elements between the different sections.
 +
The hope is that once you have found the feature that you need, the involved application and the activation of that feature with its specific online database section will be easily identifiable.
  
 
==[[Installation]]==
 
==[[Installation]]==
Installation & Quick start
+
Although originally Midas was available for all sorts of OS, nowadays we tend to reduce its support to Linux-based, MacOS, and Windows.
 +
This section contains general information and procedure for installation, configuration and examples of basic operation.
 +
[[Installation|'''more...''']]
  
 
==[[Feature listing]]==
 
==[[Feature listing]]==
Description of Midas features
+
Midas provides by default a complete DAQ system, the main features of which comprise: frontend template for acquiring your hardware information, data transfer mechanism to local/remote computer, data logging capability, data analysis framework, data monitoring, full run control, and web interface for experiment control/monitoring.
 +
While each of these features is described, other potentially useful but ''hidden'' options such as sub-run, messages, history, run sequencer, alarms, event notification, etc,  may also be essential to your experiment. A list of such features with description, enabling method, and operation is also provided. [[Feature_listing|'''more...''']]
 +
 
  
 
==[[Application listing]]==
 
==[[Application listing]]==
Description and usage of the Midas programs
+
Midas comes with a set of applications for monitoring and control of the acquisition system such as a central database editor (odbedit), webserver (mhttpd), data logger (mlogger) etc. This section describes each individual task and link to the corresponding features and online database entry managing such a feature. [[Application_listing|'''more...''']]
 +
 
  
 
==[[Online Database]]==
 
==[[Online Database]]==
Description of each ODB structure
+
The online database (ODB) is the DAQ central information hub for a given experiment. It contains all information related to the internal operation of the data acquisition and any user information related to the configuration of the experiment. It is accessible by any Midas client application connected to this experiment, and by the user through a command line application (odbedit) or through a web interface (mhttpd).
  
==Appendices ==
+
Its content is organized with multiple directory levels filled with structure, arrays or single variables. While the user can create new directories reflecting his/her hardware or analysis configuration, there are dedicated directories reserved for the core operation of the system (/SYSTEM/, /RUNINFO/, ...) but they still remain readable by the user. [[Online_Database|'''more...''']]
*===[[Supported Hardware]]===
 
*===[[Slow Control Hardware]]===
 
*===[[Mac specific information]]===
 
*===[[Multi-threading option]]===
 
*===[[Event Builder information]]===
 
*===[[MIDAS Event Structure]]===
 
*===[[Data Formats]]===
 
  
----
+
 
 +
==[[Appendices]]==
 +
* [[Supported Hardware]]
 +
* [[Mac specific information]]
 +
* [[Multi-threading option]]
 +
* [[Event Builder information]]
 +
* [[MIDAS Event Structure]]
 +
* [[Common Parameters to MIDAS Utilities]]
 +
* [[Notes | Miscelleneous notes]] : Notes that need to be incorporated in the documentation.
 +
* [[Features | New Features]] : documented features to be incorporated in the documentation.
  
 
== [[Glossary]] ==
 
== [[Glossary]] ==
== [[Index]] ==
+
 
 +
== [https://midas.triumf.ca/MidasWiki/index.php?title=Special%3AAllPages&from=&to=&namespace=0 All Pages listing] ==

Latest revision as of 10:00, 3 January 2018




Documentation organization

Even after two versions of the Midas documentation, it is still a real challenge to describe the Midas package in a clear, concise and useful way. On this third attempt, we reworked the layout and placed everything on Wiki, hoping that collaborators will be keen to correct, add and improve its content. Feel free to do so by contacting us in case of unclear or incomplete information.

The documentation of the MIDAS code is still generated by Doxygen and can be found at [1].


We split the documentation in 4 main sections: Installation, Feature listing, Application listing, Online Database. While the first one provides you a means to get Midas up and running, the Feature listing should highlight what Midas can do and provide some general information on its implementation. The Application listing refers to 'system- & user- build' applications that maybe needed during the acquisition. The Online Database section describes in details the Midas central information database. Appendices as the last section collect references, and features information assuming that the reader is already familiar with the Midas environment.

A lot of information can be replicated in every section, but we try to minimize it by cross referencing elements between the different sections. The hope is that once you have found the feature that you need, the involved application and the activation of that feature with its specific online database section will be easily identifiable.

Installation

Although originally Midas was available for all sorts of OS, nowadays we tend to reduce its support to Linux-based, MacOS, and Windows. This section contains general information and procedure for installation, configuration and examples of basic operation. more...

Feature listing

Midas provides by default a complete DAQ system, the main features of which comprise: frontend template for acquiring your hardware information, data transfer mechanism to local/remote computer, data logging capability, data analysis framework, data monitoring, full run control, and web interface for experiment control/monitoring. While each of these features is described, other potentially useful but hidden options such as sub-run, messages, history, run sequencer, alarms, event notification, etc, may also be essential to your experiment. A list of such features with description, enabling method, and operation is also provided. more...


Application listing

Midas comes with a set of applications for monitoring and control of the acquisition system such as a central database editor (odbedit), webserver (mhttpd), data logger (mlogger) etc. This section describes each individual task and link to the corresponding features and online database entry managing such a feature. more...


Online Database

The online database (ODB) is the DAQ central information hub for a given experiment. It contains all information related to the internal operation of the data acquisition and any user information related to the configuration of the experiment. It is accessible by any Midas client application connected to this experiment, and by the user through a command line application (odbedit) or through a web interface (mhttpd).

Its content is organized with multiple directory levels filled with structure, arrays or single variables. While the user can create new directories reflecting his/her hardware or analysis configuration, there are dedicated directories reserved for the core operation of the system (/SYSTEM/, /RUNINFO/, ...) but they still remain readable by the user. more...


Appendices

Glossary

All Pages listing