ROOT logo
#ifndef ALITRDTRENDVALUE_H
#define ALITRDTRENDVALUE_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */
////////////////////////////////////////////////////////////////////////////
//                                                                        //
//  Trend Value Incapsulation                                             //
//                                                                        //
//  Authors:                                                              //
//    Alexandru Bercuci <A.Bercuci@gsi.de>                                //
//                                                                        //
////////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TNamed
#include "TNamed.h"
#endif

class AliTRDtrendValue : public TNamed
{
friend class AliTRDtrendingManager; // allow easy access for Manager
public:  
  enum ETRDtrendValue{
    kNlevels = 4
   ,kNnotifiable = 10 
  };
  AliTRDtrendValue();
  AliTRDtrendValue(const Char_t *n, const Char_t *t);
  AliTRDtrendValue(const AliTRDtrendValue &ref);
  virtual ~AliTRDtrendValue();

  Double_t    GetVal() const { return fValue;}
  Double_t    GetErr() const { return fSigma;}
  void        Print(Option_t *o="") const;  // *MENU*
  void        Set(Double_t v, Double_t ve) { fValue=v; fSigma = ve;}

protected: // only manager can fill these info !! 
  AliTRDtrendValue& operator/=(const AliTRDtrendValue &n);
  const char* GetAlarmMessage(Int_t ns) const;
  const char* GetResponsible() const;
  const char* GetNotifiable(Int_t in) const;
  void        SetAlarm(Int_t level, Char_t *m);
  void        SetResponsible(const Char_t *name, const Char_t *mail, Option_t *opt="");
  void        SetNotifiable(const Char_t *name, const Char_t *mail);

private:
  const AliTRDtrendValue& operator=(const AliTRDtrendValue &ref);

  Double_t      fValue;     // value; mean for reference, current for running
  Double_t      fSigma;     // error; sigma for reference, current for running
//  Char_t        *fAlarmMessage[kNlevels]; // list of alarm messages
  TNamed       *fResponsible; // responsible person
  TNamed       *fNotifiable[kNnotifiable]; // also notify these persons

  ClassDef(AliTRDtrendValue, 1) // TRD trending value representation
};

#endif

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