#include <iostream.h>
#include "TFndGtsMon.h"
#include "TDirectory.h"
#include "TObjArray.h"
ClassImp(TFndGtsMon);
TFndGtsMon::TFndGtsMon(const char *fmode) {
gts_mon = 0;
const char *fhist = "_gts.root";
const char *fonl = "onl";
shmflg = 0;
if(!strcmp(fmode,fonl)) shmflg = 1;
//cout << "Online flag is " << onlflg << endl;
Int_t ilen = strlen(fmode)+strlen(fhist);
Char_t *fgtsnam = new Char_t[ilen];
strcpy(fgtsnam,fmode);
fgtsnam = strcat(fgtsnam,fhist);
fgts = new TFile(fgtsnam,"RECREATE","Gts Histogram File");
if(shmflg) {
const char *mfngts = "gts.map";
mgts = TMapFile::Create(mfngts,"RECREATE",2000000,"Gts memory mapped file with histograms");
mgts->Print();
}
corbo_deadtime = new TH1F("DeadTime", "Dead_Time",10, -0.5,9.5);
ioreg = new TH1F("I/O_register", "Trigger_Pattern",8,0.5,8.5);
ioreg->SetFillColor(3);
camacscaler = new TH1F("Camac_Scaler", "Camac Scaler",16,0.5,16.5);;
camacscaler->SetFillColor(4);
}
TFndGtsMon::TFndGtsMon() {
mgts = TMapFile::Create("gts.map","UPDATE");
mgts->Print();
gts_mon = new TCanvas("gts_mon","GTS Monitor Canvas",640,10,600,600);
gts1d = 0;
}
TFndGtsMon::~TFndGtsMon() {
if(fgts) fgts->Close();
delete fgts;
mgts->Close();
delete mgts;
delete ioreg;
delete corbo_deadtime;
delete camacscaler;
delete gts_mon;
gts1d = 0;
delete gts1d;
}
void TFndGtsMon::Fill(TFndHdt *fndhdt) {
TFndTrig *fTrig = fndhdt->GetTrig();
TFndCorbo *fcorbo = fTrig->GetCorbo();
Int_t dead = fcorbo->GetDeadtime(0);
corbo_deadtime->Fill((Float_t) dead);
if(fTrig->GetTB()) ioreg->Fill(1.);
if(fTrig->GetTBCtfCtr()) ioreg->Fill(2.);
if(fTrig->GetCtr()) ioreg->Fill(5.);
if(fTrig->GetCtf()) ioreg->Fill(6.);
/*
camacscaler->SetTextSize(0.05);
char scstr[40];
*/
camacscaler->Reset();
for(Int_t i=0; i<16; i++) {
Int_t CamacScaler = fTrig->GetScal(i);
camacscaler->Fill((Float_t) i+1,(Float_t) CamacScaler);
/*
sprintf(scstr,"Channel %d, Constant %dn",i,CamacScaler);
Int_t y = 0.9 - 0.05*(i+1);
camacscaler->AddText(0.15,y,scstr);
*/
}
}
void TFndGtsMon::Update() {
mgts->Update();
}
void TFndGtsMon::WriteToFile() {
fgts->cd();
corbo_deadtime->Write();
ioreg->Write();
camacscaler->Write();
}
void TFndGtsMon::Streamer(TBuffer &R__b) {}
ROOT page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.