Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Detector name consists of a common part <dettype> and unique part <detid>.
  • Alias to the detector name should be kept in separate dictionary outside the scheme.
  • Each detector may have optional predecessor, successor, and other tags in the dictionary.
  • Calibration type folders contain info about calibrations of particular type, ex: pedestals, rms, status, mask, background, etc.
  • Each calibration type contains a set of time stamp ranges defining calibration validity range. If the second time stamp of the range is missing it is considered as infinity (by the end).
  • The time stamp range folder contains tstamp_begin, tstamp_end (int) values, dictionary of tags associated with this folder, reference to the default calibration, and folders with calibration versions, distinguished by there production time stamp.
  • The number of calibration versions for each time stamp range is not limited. Default calibration is defined by the reference default_version.

*

Access / management methods

Code Block
DCStore methods
===============
tscfile     = cs.tscfile()               # (int) time stamp of the file creation
dettype     = cs.dettype()               # (str) detector type
detid       = cs.detid()                 # (str) detector id
detname     = cs.detname()               # (str) detector name of self object
predecessor = cs.predecessor()           # (str) detname of predecessor or None
successor   = cs.successor()             # (str) detname of successor or None
tags        = cs.tags()                  # (dict) dictionary of tags associated with this detector
ctypes      = cs.ctypes()                # (list) calibration types in the file
ctg         = cs.ctypegrp(ctype)         # (DCType ~ h5py.Group) calibration type object

DCType methods
==============
tags        = ctg.tags()                 # (dict) dictionary of tags associated with this detector
tsranges    = ctg.ranges()               # (list) of time ranges for ctype
tsrg        = ctg.rangegrp(tsrange)      # (DCRange ~ h5py.Group) time stamp validity range object


DCRange methods
===============
tags        = tsrg.tags()                # (dict) dictionary of tags associated with time stamp range
tsbegin     = tsrg.begin()               # (int) time stamp beginning validity range
tsend       = tsrg.end()                 # (int) time stamp ending validity range
versions    = tsrg.versions()            # (list) versions of calibrations
versdef     = tsrg.versdef()             # (DCVersion ~ h5py.Group) reference to the default version in the time-range group
versg       = tsrg.versgrp(vers)         # (DCVersion ~ h5py.Group) specified version in the time-range group

tags        = versgDCVersion methods
=================
tags        = versg.tags()               # (dict) dictionary of tags associated with time stamp range
tsversprod  = versg.tsprod()             # (int) time stamp of the version production
calibdata   = versg.calib()              # (np.array) calibration array
_____________________

tsr = tsrange(tsbegin, tsend)


Management methods

Code Block
DCStore methods
===============
cs.set_tscfile(ts)                 # string <tsbegin-tsend>
cs.addcalib(ctype, nda, tsr)
cs.delete(ctype, tsr)
cdic = cs.getdict(ctype)set (int) time stamp of the file creation  
cs.set_dettype(dettype)            # set (str) detector type
cs.set_detid(detid)                # set (str) detector id
cs.set_detname(detname)            # set (str) detector name of self object
cs.set_predecessor(pred)           # set (str) detname of predecessor or None
cs.set_successor(succ)             # set (str) detname of successor or None
cs.set_tags(d)                     # set (dict) dictionary of tags associated with this detector
cs.add_tag(k,v)                    # add (k,v) add tag to the dictionary of tags associated with this detector
cs.add_ctype(ctype)                # add (str) calibration type to the DCStore object
cs.del_tags()                      # delete tags
cs.del_tag(k)                      # delete tag with key k
cs.del_ctype(ctype)                # delete ctype from the DCStore object


DCType methods
==============
ctg.set_tags(d)                    # set (dict) dictionary of tags for DCType object
ctg.add_tag(k,v)                   # add (k,v) tag to the dictionary of tags for DCType object
ctg.add_range(tsr)                 # add (str) of time ranges for ctype
ctg.del_tags()                     # delete tags
ctg.del_tag(k)                     # delete tag with key k
ctg.del_range(tsr)                 # delete ctype from the DCType object


DCRange methods
===============


DCVersion methods
=================

 

 

 *

 

Data and metadata in tags

...