Overview | Releases | Download | Docs | Links | Help | RecentChanges

ISattributes

STATUS:

With CDI, we can put the TestData objects into the Lisbon database. (For those of you who are wondering why we didn't try COOL, the reason is simple: no arrays in COOL. So putting it in COOL requires more work... )

However, the object does not have any attributes. If you browse a TestData object using the instruction on CDItesting, you will see that the attributes are "column1" and so on. One can also see that these objects have no attributes using the nice IS object browser, called is_monitor from the command line.

Objects in IS need an OKS schema file. The TestData object is defined in SctRodDaq/CalibrationController/data/ControlData.schema.xml

IS has a nice tool called is_generator.sh (which needs OKS version 2.0 input) which then generates c++ or header files from this and we include this whereever we need to use this object in SctRodDaq.

So still why no attributes? This schema file has to be a part of the SW_Repository class in SctSoftware?.data.xml for IS to know how to read this object. The example I have from the TRT is as follows:

<attr name="ISInfoDescriptionFiles" type="string" num="1"> "ControlData.schema.xml"</attr>
From the tdaq-01-01-00 Release notes:

Software Repository * Add new attribute ISInfoDescriptionFiles?. It contains list of schema files, which are used for IS information description (to be loaded by special RDB server). Such files are relative either to the value of the partition's repository root attribute, or to the installation path of given software repository. The attribute ISInfoDescriptionFiles? replaces obsolete TDAQ_IS_REPOSITORY environment variable.

If you ever want to load the schema file by hand, you can use the following:

 rdb_server -p SCT -d ISRepository -S $SCT_DAQ_ROOT/CalibrationController/data/ControlData.schema.xml

Having done this, you can see a list of the attributes in the 3 objects listed in ControlData:

rdb_dump -p SCT -d ISRepository -c TestData --attributes

SIMPLE TEST: In a system test, start the rdb_server *explicitly* after starting ipc. After running a system test to read and analyze some test data, running is_monitor in the SCT partition, clearly shows that the attributes of the TestData object is now there. :)

In actual DAQ running, the rdb_server gets started automagically and so the IS attributes are there when the objects are initialized.

More information is available under CDItesting.