ROOT logo
//*-- Author : Dan Magestro (magestro@gsi.de)
//*-- Modified : 24/01/2002
#ifndef HQASCALERS_H
#define HQASCALERS_H
#include "TNamed.h"

class HQAScaler;
class HQAScaler6;

class HQAScalers : public TObject {

public:
   HQAScalers();
   virtual ~HQAScalers() {}

   virtual void bookScalers();
   virtual void activateScalers();

   TList *getScalerList() {
      return scalerList;
   }

private:
   void resetPointers();

public:
   TList *scalerList;  //! List of scalers

   // Start scalers

   // Rich scalers
   HQAScaler6 *richCal_n;     //! richCal: pads/event
   HQAScaler6 *richHit_n;     //! richHit: hits/event (*1000)

   // Mdc scalers
   HQAScaler6 *mdcCal1_n_m0;  //! mdcCal1: Plane I, avg. mult.
   HQAScaler6 *mdcCal1_n_m1;  //! mdcCal1: Plane II, avg. mult.
   HQAScaler6 *mdcCal1_n_m2;  //! mdcCal1: Plane III, avg. mult.
   HQAScaler6 *mdcCal1_n_m3;  //! mdcCal1: Plane IV, avg. mult.

   // Tof scalers
   HQAScaler6 *tofHit_n;      //! tofHit: multiplicity/event

   // Tofino scalers

   // Shower scalers
   HQAScaler6 *shoHit_n;    //! showerHit: multiplicity/event
   HQAScaler6 *shoHitTof_n; //! showerHit: multiplicity/event

   // Kick scalers
   HQAScaler6 *kickTrack_n;  //! kickTrack: tracks/event

   // Trigger scalers
   HQAScaler6 *trigRich_n;      //! trigRich    : RichIPU   hits/event
   HQAScaler6 *trigTof_n;       //! trigTof     : TofIPU    hits/event
   HQAScaler6 *trigShower_n;    //! trigShower  : ShowerIPU hits/event
   HQAScaler6 *trigTlepton_n;   //! trigTlepton : MU Leptons from Tof hits    / event
   HQAScaler6 *trigSlepton_n;   //! trigSlepton : MU Leptons from Shower hits / event

   ClassDef(HQAScalers, 1) // QA scalers
};


//----------------------------------------------------------------------//

// HQAScaler class - wraps Double_t to take advantage of TNamed/TObject
// functionality (such as including in TCollections)

class HQAScaler : public TNamed {

public:
   HQAScaler() {
      ;
   }
   inline HQAScaler(const Char_t *name, const Char_t *title);
   virtual ~HQAScaler() {
      ;
   }

   inline HQAScaler operator=(Double_t d);

   Double_t fData;

   ClassDef(HQAScaler, 1) // TObject wrapper DOUBLE
};

inline HQAScaler::HQAScaler(const Char_t *name, const Char_t *title)
   : TNamed(name, title)
{

   fData = 0;
}

inline HQAScaler HQAScaler::operator=(Double_t d)
{

   fData = d;
   return *this;
}

//----------------------------------------------------------------------//

// HQAScaler class - wraps Double_t to take advantage of TNamed/TObject
// functionality (such as including in TCollections)

class HQAScaler6 : public TNamed {

public:
   HQAScaler6() {
      ;
   }
   inline HQAScaler6(const Char_t *name, const Char_t *title);
   virtual ~HQAScaler6() {
      ;
   }

   inline HQAScaler6& operator=(Double_t d);
   inline Double_t& operator[](Int_t sec);

   Double_t fData[6];

   ClassDef(HQAScaler6, 1) // TObject wrapper for double[6]
};

inline HQAScaler6::HQAScaler6(const Char_t *name, const Char_t *title)
   : TNamed(name, title)
{

   for (Int_t i = 0; i < 6; i++) fData[i] = 0;
}

inline HQAScaler6& HQAScaler6::operator=(Double_t d)
{

   for (Int_t i = 0; i < 6; i++) fData[i] = d; // set all scalers to value d
   return *this;
}

inline Double_t& HQAScaler6::operator[](Int_t sec)
{

   return fData[sec];
}


#endif
 hqascalers.h:1
 hqascalers.h:2
 hqascalers.h:3
 hqascalers.h:4
 hqascalers.h:5
 hqascalers.h:6
 hqascalers.h:7
 hqascalers.h:8
 hqascalers.h:9
 hqascalers.h:10
 hqascalers.h:11
 hqascalers.h:12
 hqascalers.h:13
 hqascalers.h:14
 hqascalers.h:15
 hqascalers.h:16
 hqascalers.h:17
 hqascalers.h:18
 hqascalers.h:19
 hqascalers.h:20
 hqascalers.h:21
 hqascalers.h:22
 hqascalers.h:23
 hqascalers.h:24
 hqascalers.h:25
 hqascalers.h:26
 hqascalers.h:27
 hqascalers.h:28
 hqascalers.h:29
 hqascalers.h:30
 hqascalers.h:31
 hqascalers.h:32
 hqascalers.h:33
 hqascalers.h:34
 hqascalers.h:35
 hqascalers.h:36
 hqascalers.h:37
 hqascalers.h:38
 hqascalers.h:39
 hqascalers.h:40
 hqascalers.h:41
 hqascalers.h:42
 hqascalers.h:43
 hqascalers.h:44
 hqascalers.h:45
 hqascalers.h:46
 hqascalers.h:47
 hqascalers.h:48
 hqascalers.h:49
 hqascalers.h:50
 hqascalers.h:51
 hqascalers.h:52
 hqascalers.h:53
 hqascalers.h:54
 hqascalers.h:55
 hqascalers.h:56
 hqascalers.h:57
 hqascalers.h:58
 hqascalers.h:59
 hqascalers.h:60
 hqascalers.h:61
 hqascalers.h:62
 hqascalers.h:63
 hqascalers.h:64
 hqascalers.h:65
 hqascalers.h:66
 hqascalers.h:67
 hqascalers.h:68
 hqascalers.h:69
 hqascalers.h:70
 hqascalers.h:71
 hqascalers.h:72
 hqascalers.h:73
 hqascalers.h:74
 hqascalers.h:75
 hqascalers.h:76
 hqascalers.h:77
 hqascalers.h:78
 hqascalers.h:79
 hqascalers.h:80
 hqascalers.h:81
 hqascalers.h:82
 hqascalers.h:83
 hqascalers.h:84
 hqascalers.h:85
 hqascalers.h:86
 hqascalers.h:87
 hqascalers.h:88
 hqascalers.h:89
 hqascalers.h:90
 hqascalers.h:91
 hqascalers.h:92
 hqascalers.h:93
 hqascalers.h:94
 hqascalers.h:95
 hqascalers.h:96
 hqascalers.h:97
 hqascalers.h:98
 hqascalers.h:99
 hqascalers.h:100
 hqascalers.h:101
 hqascalers.h:102
 hqascalers.h:103
 hqascalers.h:104
 hqascalers.h:105
 hqascalers.h:106
 hqascalers.h:107
 hqascalers.h:108
 hqascalers.h:109
 hqascalers.h:110
 hqascalers.h:111
 hqascalers.h:112
 hqascalers.h:113
 hqascalers.h:114
 hqascalers.h:115
 hqascalers.h:116
 hqascalers.h:117
 hqascalers.h:118
 hqascalers.h:119
 hqascalers.h:120
 hqascalers.h:121
 hqascalers.h:122
 hqascalers.h:123
 hqascalers.h:124
 hqascalers.h:125
 hqascalers.h:126
 hqascalers.h:127
 hqascalers.h:128
 hqascalers.h:129
 hqascalers.h:130
 hqascalers.h:131
 hqascalers.h:132
 hqascalers.h:133
 hqascalers.h:134
 hqascalers.h:135
 hqascalers.h:136
 hqascalers.h:137
 hqascalers.h:138
 hqascalers.h:139
 hqascalers.h:140
 hqascalers.h:141
 hqascalers.h:142
 hqascalers.h:143
 hqascalers.h:144
 hqascalers.h:145
 hqascalers.h:146