ROOT logo
#ifndef ALITOFCHANNELONLINESTATUSARRAY_H
#define ALITOFCHANNELONLINESTATUSARRAY_H

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

////////////////////////////////////////////////
//  class for TOF Online calibration          //
//  to define the status of the channels      //
//  New object created, to use an array       //
//  instead of a TObjArray.                   //
//  Storing all the info coming from          // 
//  HW FEE map, pulser runs, and noise runs   //
//  in a single object (char).                // 
////////////////////////////////////////////////

#include "TObject.h"

class AliTOFChannelOnlineStatusArray: public TObject {

public:

  enum{
    kTOFOnlineUnknown=0x0, kTOFOnlineOk=0x15, kTOFOnlineBad=0x2a, 
	    kTOFHWUnknown=0x0, kTOFHWOk=0x1, kTOFHWBad=0x2, kTOFHWReset=0xfc, kTOFHW=0x3,
	    kTOFPulserUnknown=0x0, kTOFPulserOk=0x4, kTOFPulserBad=0x8, kTOFPulserReset=0xf3, kTOFPulser=0xc,
	    kTOFNoiseUnknown=0x0, kTOFNoiseOk=0x10, kTOFNoiseBad=0x20, kTOFNoiseReset=0xcf, kTOFNoise=0x30
      };

  AliTOFChannelOnlineStatusArray();
  AliTOFChannelOnlineStatusArray(Int_t size);
  AliTOFChannelOnlineStatusArray(const AliTOFChannelOnlineStatusArray &source);
  AliTOFChannelOnlineStatusArray& operator= (const AliTOFChannelOnlineStatusArray &source);
  ~AliTOFChannelOnlineStatusArray();
  Int_t GetSize() const {return fSize;}
  void  SetStatus(Int_t pos, UChar_t parr);
  void  SetHWStatus(Int_t pos, UChar_t parr);
  void  SetPulserStatus(Int_t pos, UChar_t parr);
  void  SetNoiseStatus(Int_t pos, UChar_t parr);
  void SetLatencyWindow(Int_t pos, Int_t parr);
  UChar_t  GetStatus(Int_t pos) const;
  UChar_t  GetHWStatus(Int_t pos) const;
  UChar_t  GetPulserStatus(Int_t pos) const;
  UChar_t  GetNoiseStatus(Int_t pos) const;
  Int_t GetLatencyWindow(Int_t pos) const;
  Bool_t HasLatencyWindow() {return fLatencyWindow != NULL;};

private:
  Int_t fSize;      // Size of the array of UChar_t
  UChar_t * fArray; //[fSize]
  Int_t *fLatencyWindow; //[fSize]

  ClassDef(AliTOFChannelOnlineStatusArray,2)    // TOF Sensor Online Calibration object
};

#endif
 AliTOFChannelOnlineStatusArray.h:1
 AliTOFChannelOnlineStatusArray.h:2
 AliTOFChannelOnlineStatusArray.h:3
 AliTOFChannelOnlineStatusArray.h:4
 AliTOFChannelOnlineStatusArray.h:5
 AliTOFChannelOnlineStatusArray.h:6
 AliTOFChannelOnlineStatusArray.h:7
 AliTOFChannelOnlineStatusArray.h:8
 AliTOFChannelOnlineStatusArray.h:9
 AliTOFChannelOnlineStatusArray.h:10
 AliTOFChannelOnlineStatusArray.h:11
 AliTOFChannelOnlineStatusArray.h:12
 AliTOFChannelOnlineStatusArray.h:13
 AliTOFChannelOnlineStatusArray.h:14
 AliTOFChannelOnlineStatusArray.h:15
 AliTOFChannelOnlineStatusArray.h:16
 AliTOFChannelOnlineStatusArray.h:17
 AliTOFChannelOnlineStatusArray.h:18
 AliTOFChannelOnlineStatusArray.h:19
 AliTOFChannelOnlineStatusArray.h:20
 AliTOFChannelOnlineStatusArray.h:21
 AliTOFChannelOnlineStatusArray.h:22
 AliTOFChannelOnlineStatusArray.h:23
 AliTOFChannelOnlineStatusArray.h:24
 AliTOFChannelOnlineStatusArray.h:25
 AliTOFChannelOnlineStatusArray.h:26
 AliTOFChannelOnlineStatusArray.h:27
 AliTOFChannelOnlineStatusArray.h:28
 AliTOFChannelOnlineStatusArray.h:29
 AliTOFChannelOnlineStatusArray.h:30
 AliTOFChannelOnlineStatusArray.h:31
 AliTOFChannelOnlineStatusArray.h:32
 AliTOFChannelOnlineStatusArray.h:33
 AliTOFChannelOnlineStatusArray.h:34
 AliTOFChannelOnlineStatusArray.h:35
 AliTOFChannelOnlineStatusArray.h:36
 AliTOFChannelOnlineStatusArray.h:37
 AliTOFChannelOnlineStatusArray.h:38
 AliTOFChannelOnlineStatusArray.h:39
 AliTOFChannelOnlineStatusArray.h:40
 AliTOFChannelOnlineStatusArray.h:41
 AliTOFChannelOnlineStatusArray.h:42
 AliTOFChannelOnlineStatusArray.h:43
 AliTOFChannelOnlineStatusArray.h:44
 AliTOFChannelOnlineStatusArray.h:45
 AliTOFChannelOnlineStatusArray.h:46
 AliTOFChannelOnlineStatusArray.h:47
 AliTOFChannelOnlineStatusArray.h:48
 AliTOFChannelOnlineStatusArray.h:49
 AliTOFChannelOnlineStatusArray.h:50
 AliTOFChannelOnlineStatusArray.h:51
 AliTOFChannelOnlineStatusArray.h:52
 AliTOFChannelOnlineStatusArray.h:53
 AliTOFChannelOnlineStatusArray.h:54
 AliTOFChannelOnlineStatusArray.h:55
 AliTOFChannelOnlineStatusArray.h:56
 AliTOFChannelOnlineStatusArray.h:57