87 lines
3.3 KiB
C++

// TLemStats.h
//
// T.Prokscha, 25-April-2007
//
// Lem Statistics for LEM Run Header. Define own class which
// appears as a subdirectory in the /RunInfo/TLemRunHeader
// directory of a root file.
//
// use TObjString class: this has the advantage, that
// we can "see" the header in the root browser; also, have to
// "number" the lines so that they appear in the right order
// in TBrowser.
// Anyway, this is just a test - and a final "root" header
// definition should be closer to uSR Nexus definition?
//
//
#ifndef __TLemStats__
#define __TLemStats__
//#include <iostream>
//#include "TSystem.h"
#include "TObject.h"
#include "TObjString.h"
//#include "TMath.h"
//#include "TApplication.h"
//#include "TCanvas.h"
//#include "TText.h"
//#include "TPaveText.h"
#define NHIST 32
//using std::cout;
//using std::endl;
//------------------------------------------------
// class for LEM statistics
class TLemStats : public TObject {
private:
TObjString fIpSumString; //sum of Ip counts in one run
Double_t fIpSum;
TObjString fScalerClockSumString; //sum of 10kHz counts in one run
Double_t fScalerClockSum; //extracted from VME scaler module
TObjString fTdcClockSumString; //sum of 10kHz counts in one run,
Double_t fTdcClockSum; //extracted from VME TDC
TObjString fNeventsString; //total number of slow muon events
Double_t fNevents;
TObjString fTdSumString; //total number of TD hits (muon start detector for LEM)
Double_t fTdSum;
TObjString fTdCleanSumString; //total number of TD hits without pre-pileup
Double_t fTdCleanSum;
TObjString fTdGoodSumString; //total number of TD hirs without pre- and post-pileup
Double_t fTdGoodSum;
TObjString fPosSumString; //total number of slow muon events
Double_t fPosSum[NHIST]; //total number of positron detector hits inLEM detectors
Int_t fNPosDetectors; //number of e+ detectors/histograms
public:
TLemStats();
virtual ~TLemStats();
virtual Bool_t IsFolder() const { return kTRUE; } // make object "browsable"
virtual void SetIpSum(Double_t value);
virtual void SetScalerClockSum(Double_t value);
virtual void SetTdcClockSum(Double_t value);
virtual void SetNevents(Double_t value);
virtual void SetTdSum(Double_t value);
virtual void SetTdCleanSum(Double_t value);
virtual void SetTdGoodSum(Double_t value);
virtual void SetPosSum(const Double_t *value);
virtual void SetNPosDetectors(Int_t n) { fNPosDetectors = n; }
virtual Double_t GetIpSum() const { return fIpSum; }
virtual Double_t GetScalerClockSum() const { return fScalerClockSum; }
virtual Double_t GetTdcClockSum() const { return fTdcClockSum; }
virtual Double_t GetNevents() const { return fNevents; }
virtual Double_t GetTdSum() const { return fTdSum; }
virtual Double_t GetTdCleanSum() const { return fTdCleanSum; }
virtual Double_t GetTdGoodSum() const { return fTdGoodSum; }
virtual Double_t *GetPosSum() { return fPosSum; }
TObjString GetIpSumString() const { return fIpSumString; }
virtual Int_t GetNPosDetectors() const { return fNPosDetectors;}
//2nd version of TLemStats
ClassDef(TLemStats,2) //LEM Statistics
};
#endif