ROOT logo
#ifndef ALITOFDRMSUMMARYDATA_H
#define ALITOFDRMSUMMARYDATA_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/*
  author: Roberto Preghenella (R+), preghenella@bo.infn.it
*/

///////////////////////////////////////////////////////////////
//                                                           //
//   This class provides a summary for DRM data.             //
//                                                           //
///////////////////////////////////////////////////////////////

#include "TObject.h"
#include "AliTOFLTMSummaryData.h"
#include "AliTOFTRMSummaryData.h"

#define N_TRM 10
class AliTOFDRMSummaryData : public TObject
{
 public:
  AliTOFDRMSummaryData(); //default contructor
  AliTOFDRMSummaryData(const AliTOFDRMSummaryData &source); //copy contructor
  AliTOFDRMSummaryData &operator = (const AliTOFDRMSummaryData &source); //operator =
  virtual ~AliTOFDRMSummaryData(); //destructor
  /* getters */
  Bool_t   GetHeader() const {return fHeader;}; //get header
  Bool_t   GetTrailer() const {return fTrailer;}; //get trailer
  UShort_t GetSlotID() const {return fSlotID;}; //get slot ID
  UInt_t   GetEventWords() const {return fEventWords;}; //get event words
  UShort_t GetDRMID() const {return fDRMID;}; //get DRM ID
  UShort_t GetLocalEventCounter() const {return fLocalEventCounter;}; //get local event counter
  UShort_t GetPartecipatingSlotID() const {return fPartecipatingSlotID;}; //get partecipating slot ID
  UShort_t GetCBit() const {return fCBit;}; //get C bit
  UShort_t GetVersID() const {return fVersID;}; //get vers ID
  UShort_t GetDRMhSize() const {return fDRMhSize;}; //get DRM header size
  UShort_t GetSlotEnableMask() const {return fSlotEnableMask;}; //get slot enable mask
  UShort_t GetFaultID() const {return fFaultID;}; //get fault ID
  UShort_t GetRTOBit() const {return fRTOBit;}; //get RTO bit
  UShort_t GetL0BCID() const {return fL0BCID;}; //get L0 bunch ID
  UShort_t GetRunTimeInfo() const {return fRunTimeInfo;}; //get run time info
  UShort_t GetTemperature() const {return fTemperature;}; //get temperature
  UShort_t GetACKBit() const {return fACKBit;}; //get ACK bit
  UShort_t GetSensAD() const {return fSensAD;}; //get sens AD
  UInt_t   GetEventCRC() const {return fEventCRC;}; //get event CRC
  UInt_t   GetDecoderCRC() const {return fDecoderCRC;}; //get decoder CRC
  UShort_t GetDecoderSlotEnableMask() const {return fDecoderSlotEnableMask;}; //get decoder slot enable mask
  UShort_t GetDecoderSlotEnableMaskBit(UInt_t iBit) const {return fDecoderSlotEnableMask & (1 << iBit);}; //get decoder slot enable mask bit
  AliTOFLTMSummaryData *GetLTMSummaryData() const {return fLTMSummaryData;}; //get LTM summary data
  AliTOFTRMSummaryData *GetTRMSummaryData(Int_t TRM) const {return TRM < N_TRM ? fTRMSummaryData[TRM] : 0x0;}; //get TRM summary data
  /* setters */
  void SetHeader(Bool_t Header) {fHeader = Header;}; //set header
  void SetTrailer(Bool_t Trailer) {fTrailer = Trailer;}; //set trailer
  void SetSlotID(UShort_t SlotID) {fSlotID = SlotID;}; //set slot ID
  void SetEventWords(UInt_t EventWords) {fEventWords = EventWords;}; //set event words
  void SetDRMID(UShort_t DRMID) {fDRMID = DRMID;}; //set DRM ID
  void SetLocalEventCounter(UShort_t LocalEventCounter) {fLocalEventCounter = LocalEventCounter;}; //set local event counter
  void SetPartecipatingSlotID(UShort_t PartecipatingSlotID) {fPartecipatingSlotID = PartecipatingSlotID;}; //set partecipating slot ID
  void SetCBit(UShort_t CBit) {fCBit = CBit;}; //set C bit
  void SetVersID(UShort_t VersID) {fVersID = VersID;}; //set vers ID
  void SetDRMhSize(UShort_t DRMhSize) {fDRMhSize = DRMhSize;}; //set DRM header size
  void SetSlotEnableMask(UShort_t SlotEnableMask) {fSlotEnableMask = SlotEnableMask;}; //set slot enable mask
  void SetFaultID(UShort_t FaultID) {fFaultID = FaultID;}; //set fault ID
  void SetRTOBit(UShort_t RTOBit) {fRTOBit = RTOBit;}; //set RTO bit
  void SetL0BCID(UShort_t L0BCID) {fL0BCID = L0BCID;}; //set L0 bunch ID
  void SetRunTimeInfo(UShort_t RunTimeInfo) {fRunTimeInfo = RunTimeInfo;}; //set run time info
  void SetTemperature(UShort_t Temperature) {fTemperature = Temperature;}; //set temperature
  void SetACKBit(UShort_t ACKBit) {fACKBit = ACKBit;}; //set ACK bit
  void SetSensAD(UShort_t SensAD) {fSensAD = SensAD;}; //set sens ID
  void SetEventCRC(UInt_t EventCRC) {fEventCRC = EventCRC;}; //set event CRC
  void SetDecoderCRC(UInt_t DecoderCRC) {fDecoderCRC = DecoderCRC;}; //set decoder CRC
  void SetDecoderSlotEnableMask(UShort_t DecoderSlotEnableMask) {fDecoderSlotEnableMask = DecoderSlotEnableMask;}; //set decoder slot enable mask
  void SetDecoderSlotEnableMaskBit(UInt_t iBit) {fDecoderSlotEnableMask |= (1 << iBit);}; //get decoder slot enable mask
  /* methods */
  void Reset(); //reset
 private:
  Bool_t   fHeader; //header
  Bool_t   fTrailer; //trailer
  UShort_t fSlotID; //slot ID
  UInt_t   fEventWords; //event words
  UShort_t fDRMID; //DRM ID
  UShort_t fLocalEventCounter; //local event counter
  UShort_t fPartecipatingSlotID; //partecipating slot ID
  UShort_t fCBit; //C bit
  UShort_t fVersID; //vers ID
  UShort_t fDRMhSize; //DRM header size
  UShort_t fSlotEnableMask; //slot enable mask
  UShort_t fFaultID; //fault ID
  UShort_t fRTOBit; //RTO bit
  UShort_t fL0BCID;  //L0 bunch ID
  UShort_t fRunTimeInfo; //run time info
  UShort_t fTemperature; //temperature
  UShort_t fACKBit; //ACK bit
  UShort_t fSensAD; //sens ID
  UInt_t   fEventCRC; //event CRC
  UInt_t   fDecoderCRC; //decoder CRC
  UShort_t fDecoderSlotEnableMask; //decoder slot enable mask
  AliTOFLTMSummaryData *fLTMSummaryData; //LTM summary data
  AliTOFTRMSummaryData *fTRMSummaryData[N_TRM]; //TRM summary data

  ClassDef(AliTOFDRMSummaryData, 1);
};

#endif /* ALITOFDRMSUMMARYDATA_H */
 AliTOFDRMSummaryData.h:1
 AliTOFDRMSummaryData.h:2
 AliTOFDRMSummaryData.h:3
 AliTOFDRMSummaryData.h:4
 AliTOFDRMSummaryData.h:5
 AliTOFDRMSummaryData.h:6
 AliTOFDRMSummaryData.h:7
 AliTOFDRMSummaryData.h:8
 AliTOFDRMSummaryData.h:9
 AliTOFDRMSummaryData.h:10
 AliTOFDRMSummaryData.h:11
 AliTOFDRMSummaryData.h:12
 AliTOFDRMSummaryData.h:13
 AliTOFDRMSummaryData.h:14
 AliTOFDRMSummaryData.h:15
 AliTOFDRMSummaryData.h:16
 AliTOFDRMSummaryData.h:17
 AliTOFDRMSummaryData.h:18
 AliTOFDRMSummaryData.h:19
 AliTOFDRMSummaryData.h:20
 AliTOFDRMSummaryData.h:21
 AliTOFDRMSummaryData.h:22
 AliTOFDRMSummaryData.h:23
 AliTOFDRMSummaryData.h:24
 AliTOFDRMSummaryData.h:25
 AliTOFDRMSummaryData.h:26
 AliTOFDRMSummaryData.h:27
 AliTOFDRMSummaryData.h:28
 AliTOFDRMSummaryData.h:29
 AliTOFDRMSummaryData.h:30
 AliTOFDRMSummaryData.h:31
 AliTOFDRMSummaryData.h:32
 AliTOFDRMSummaryData.h:33
 AliTOFDRMSummaryData.h:34
 AliTOFDRMSummaryData.h:35
 AliTOFDRMSummaryData.h:36
 AliTOFDRMSummaryData.h:37
 AliTOFDRMSummaryData.h:38
 AliTOFDRMSummaryData.h:39
 AliTOFDRMSummaryData.h:40
 AliTOFDRMSummaryData.h:41
 AliTOFDRMSummaryData.h:42
 AliTOFDRMSummaryData.h:43
 AliTOFDRMSummaryData.h:44
 AliTOFDRMSummaryData.h:45
 AliTOFDRMSummaryData.h:46
 AliTOFDRMSummaryData.h:47
 AliTOFDRMSummaryData.h:48
 AliTOFDRMSummaryData.h:49
 AliTOFDRMSummaryData.h:50
 AliTOFDRMSummaryData.h:51
 AliTOFDRMSummaryData.h:52
 AliTOFDRMSummaryData.h:53
 AliTOFDRMSummaryData.h:54
 AliTOFDRMSummaryData.h:55
 AliTOFDRMSummaryData.h:56
 AliTOFDRMSummaryData.h:57
 AliTOFDRMSummaryData.h:58
 AliTOFDRMSummaryData.h:59
 AliTOFDRMSummaryData.h:60
 AliTOFDRMSummaryData.h:61
 AliTOFDRMSummaryData.h:62
 AliTOFDRMSummaryData.h:63
 AliTOFDRMSummaryData.h:64
 AliTOFDRMSummaryData.h:65
 AliTOFDRMSummaryData.h:66
 AliTOFDRMSummaryData.h:67
 AliTOFDRMSummaryData.h:68
 AliTOFDRMSummaryData.h:69
 AliTOFDRMSummaryData.h:70
 AliTOFDRMSummaryData.h:71
 AliTOFDRMSummaryData.h:72
 AliTOFDRMSummaryData.h:73
 AliTOFDRMSummaryData.h:74
 AliTOFDRMSummaryData.h:75
 AliTOFDRMSummaryData.h:76
 AliTOFDRMSummaryData.h:77
 AliTOFDRMSummaryData.h:78
 AliTOFDRMSummaryData.h:79
 AliTOFDRMSummaryData.h:80
 AliTOFDRMSummaryData.h:81
 AliTOFDRMSummaryData.h:82
 AliTOFDRMSummaryData.h:83
 AliTOFDRMSummaryData.h:84
 AliTOFDRMSummaryData.h:85
 AliTOFDRMSummaryData.h:86
 AliTOFDRMSummaryData.h:87
 AliTOFDRMSummaryData.h:88
 AliTOFDRMSummaryData.h:89
 AliTOFDRMSummaryData.h:90
 AliTOFDRMSummaryData.h:91
 AliTOFDRMSummaryData.h:92
 AliTOFDRMSummaryData.h:93
 AliTOFDRMSummaryData.h:94
 AliTOFDRMSummaryData.h:95
 AliTOFDRMSummaryData.h:96
 AliTOFDRMSummaryData.h:97
 AliTOFDRMSummaryData.h:98
 AliTOFDRMSummaryData.h:99
 AliTOFDRMSummaryData.h:100
 AliTOFDRMSummaryData.h:101
 AliTOFDRMSummaryData.h:102
 AliTOFDRMSummaryData.h:103
 AliTOFDRMSummaryData.h:104
 AliTOFDRMSummaryData.h:105
 AliTOFDRMSummaryData.h:106
 AliTOFDRMSummaryData.h:107