Deleting Objects in a proper way. Minor improvements added.
[u/mrichter/AliRoot.git] / TOF / AliTOFChannelOnlineStatusArray.h
1 #ifndef ALITOFCHANNELONLINESTATUSARRAY_H
2 #define ALITOFCHANNELONLINESTATUSARRAY_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6 /* $Id$ */
7
8 ////////////////////////////////////////////////
9 //  class for TOF Online calibration          //
10 //  to define the status of the channels      //
11 //  New object created, to use an array       //
12 //  instead of a TObjArray.                   //
13 //  Storing all the info coming from          // 
14 //  HW FEE map, pulser runs, and noise runs   //
15 //  in a single object (char).                // 
16 ////////////////////////////////////////////////
17
18 #include "TObject.h"
19
20 class AliTOFChannelOnlineStatusArray: public TObject {
21
22 public:
23
24   enum{
25     kTOFOnlineUnknown=0x0, kTOFOnlineOk=0x15, kTOFOnlineBad=0x2a, 
26             kTOFHWUnknown=0x0, kTOFHWOk=0x1, kTOFHWBad=0x2, kTOFHWReset=0xfc, kTOFHW=0x3,
27             kTOFPulserUnknown=0x0, kTOFPulserOk=0x4, kTOFPulserBad=0x8, kTOFPulserReset=0xf3, kTOFPulser=0xc,
28             kTOFNoiseUnknown=0x0, kTOFNoiseOk=0x10, kTOFNoiseBad=0x20, kTOFNoiseReset=0xcf, kTOFNoise=0x30
29       };
30
31   AliTOFChannelOnlineStatusArray();
32   AliTOFChannelOnlineStatusArray(Int_t size);
33   AliTOFChannelOnlineStatusArray(const AliTOFChannelOnlineStatusArray &source);
34   AliTOFChannelOnlineStatusArray& operator= (const AliTOFChannelOnlineStatusArray &source);
35   ~AliTOFChannelOnlineStatusArray();
36   Int_t GetSize() const {return fSize;}
37   void  SetStatus(Int_t pos, UChar_t parr);
38   void  SetHWStatus(Int_t pos, UChar_t parr);
39   void  SetPulserStatus(Int_t pos, UChar_t parr);
40   void  SetNoiseStatus(Int_t pos, UChar_t parr);
41   UChar_t  GetStatus(Int_t pos) const;
42   UChar_t  GetHWStatus(Int_t pos) const;
43   UChar_t  GetPulserStatus(Int_t pos) const;
44   UChar_t  GetNoiseStatus(Int_t pos) const;
45
46 private:
47   Int_t fSize;      // Size of the array of UChar_t
48   UChar_t * fArray; //[fSize]
49
50   ClassDef(AliTOFChannelOnlineStatusArray,1)    // TOF Sensor Online Calibration object
51 };
52
53 #endif