Skip to content
Snippets Groups Projects
Select Git revision
  • 7ed271b81e204eec69864987a7601639092a0f9f
  • master default protected
  • nightly_master
  • online_much_readconf_cleanup protected
  • online_mvd_readconf_cleanup protected
  • jul25_patches
  • cleanup_rich_v25a
  • jul24_patches
  • nov23_patches
  • DC_2404
  • nighly_master
  • DC_Jan24
  • DC_Nov23
  • DC_Oct23
  • feb23_patches
  • L1Algo-dev9
  • dec21_patches protected
  • apr21_patches protected
  • dev_2025_47
  • RC2_jul25
  • dev_2025_46
  • dev_2025_45
  • dev_2025_44
  • dev_2025_43
  • dev_2025_42
  • dev_2025_41
  • dev_2025_40
  • dev_2025_39
  • dev_2025_38
  • dev_2025_37
  • dev_2025_36
  • dev_2025_35
  • dev_2025_34
  • dev_2025_33
  • dev_2025_32
  • dev_2025_31
  • dev_2025_30
  • RC_jul25
38 results

TTrbHeader.cxx

Blame
  • Eoin Clerkin's avatar
    Eoin Clerkin authored
    Decision to not use doxygen for licence headers. Removes doxygen formatting and file tag.
    35afe0ea
    History
    TTrbHeader.cxx 1.48 KiB
    /* Copyright (C) 2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
       SPDX-License-Identifier: GPL-3.0-only
       Authors: Florian Uhlig [committer] */
    
    #include "TTrbHeader.h"
    
    #include <TNamed.h>  // for TNamed
    
    #include <algorithm>  // for fill
    
    TTrbHeader::TTrbHeader()
      : TNamed()
      , fuTriggerPattern(0)
      , fuTriggerType(0)
      , fdTimeInSpill(0.)
      , fdTimeInRun(0.)
      , fiSpillIndex(-1)
      , fuEventDAQDate(0)
      , fuEventDAQTime(0)
      , fiTriggerIndex(-1)
      , fdCTSBusyTime(0.)
      , fdCTSIdleTime(0.)
      , fuSubeventSizes()
    {
    }
    
    void TTrbHeader::Clear(Option_t*)
    {
      fuTriggerPattern = 0;
      fuTriggerType    = 0;
      fdTimeInSpill    = 0.;
      fdTimeInRun      = 0.;
      fiSpillIndex     = -1;
      fuEventDAQDate   = 0;
      fuEventDAQTime   = 0;
      fiTriggerIndex   = -1;
      fdCTSBusyTime    = 0.;
      fdCTSIdleTime    = 0.;
      std::fill(fuSubeventSizes.begin(), fuSubeventSizes.end(), 0);
    }
    
    void TTrbHeader::SetSubeventSizes(const std::vector<UShort_t>& vuVal) { fuSubeventSizes = vuVal; }
    
    UShort_t TTrbHeader::GetSubeventSize(Int_t iSubevent) const
    {
      // throws an out_of_range exception if iSubevent is out of bounds
      // should not happen if properly used
      return fuSubeventSizes.at(iSubevent);
    }
    
    Int_t TTrbHeader::GetNSubevents() const { return fuSubeventSizes.size(); }
    
    Bool_t TTrbHeader::TriggerFired(Int_t iTrg)
    {
      // check whether Trigger Pattern matches iTrg in any bit
      if (fuTriggerPattern & (0x1 << iTrg)) { return kTRUE; }
      else {
        return kFALSE;
      }
      return kFALSE;
    }
    
    ClassImp(TTrbHeader)