ROOT logo
#ifndef HORASLOWCHANRUNSUM_H
#define HORASLOWCHANRUNSUM_H

using namespace std;
#include "TNamed.h"
#include "TString.h"
#include <iostream>
#include <iomanip>
#include <fstream>

class HOraSlowPeriod;

class HOraSlowChanRunSum : public TNamed {
private:
  HOraSlowPeriod* period; // Pointer to the corresponding period
  Int_t    periodIndex;   // Oracle index of the corresponding period
  Double_t mean;          // Mean value (weighted mean over period)
  Double_t sigma;         // Sigma of mean value
  Double_t minVal;        // Minimum value in the period
  Double_t maxVal;        // Maximum value in the period
  Int_t    nData;         // Number of raw data in the corresponding period
  Int_t    status;        // Status flag
  Int_t    nMonData;      // Number of raw data in the monitor channel during the corresponding period
  Int_t    nMonSmplPer;   // Sampling period of monitor_channel
public:
  HOraSlowChanRunSum();
  ~HOraSlowChanRunSum() {}
  void setPeriodIndex(Int_t n) {periodIndex=n;}
  void setPeriod(HOraSlowPeriod* p) {period=p;}
  void setMean(Double_t v) {mean=v;}
  void setSigma(Double_t v) {sigma=v;}
  void setMinValue(Double_t v) {minVal=v;}
  void setMaxValue(Double_t v) {maxVal=v;}
  void setNData(Int_t n) {nData=n;}
  void setStatus(Int_t n) {status=n;}
  void setNMonData(Int_t n) {nMonData=n;}
  void setNMonSmplPer(Int_t n) {nMonSmplPer=n;}
  void fill(Int_t,Double_t,Double_t,Double_t,Double_t,Int_t,Int_t,Int_t,Int_t nMonSP=1);
  Int_t getPeriodIndex() {return periodIndex;}
  HOraSlowPeriod* getPeriod() {return period;}
  Double_t getMean() {return mean;}
  Double_t getSigma() {return sigma;}
  Double_t getMinVal() {return minVal;}
  Double_t getMaxVal() {return maxVal;}
  Int_t getNData() {return nData;}
  Int_t getStatus() {return status;}
  Int_t getNMonData() {return nMonData;}
  Int_t getNMonSmplPer() {return nMonSmplPer;}
  Int_t getMonRate();
  void print(Int_t valPrec=3);
  void write(fstream& fout,Int_t valPrec=3);
private:
  ClassDef(HOraSlowChanRunSum,0) // Run based summary data of a slowcontrol channel
};

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