// TLemRunHeader.C // // T. Prokscha // 18/06/2006 // // #include "TLemRunHeader.h" ClassImp(TLemRunHeader) //---------------------------------------------------------- TLemRunHeader::TLemRunHeader(){ fRunTitle.SetString(""); fLemSetup.SetString(""); fStartTimeString.SetString(""); fStopTimeString.SetString(""); fOffsetPPCHistograms = 20; fRunNumber = 0; // -1 not possible since UInt_t fRunNumberString.SetString(""); fStartTime = 0; // -1 not possible since UInt_t fStopTime = 0; // -1 not possible since UInt_t fModeratorHV = -999.0; fModeratorHVError = -999.0; fModeratorHVString.SetString(""); fSampleHV = -999.0; fSampleHVError = -999.0; fSampleHVString.SetString(""); fImpEnergy = -999.0; fImpEnergyString.SetString(""); fSampleTemperature = -999.0; fSampleTemperatureError = -999.0; fSampleTemperatureString.SetString(""); fSampleBField = -999.0; fSampleBFieldError = -999.0; fSampleBFieldString.SetString(""); fTimeResolution = -999.0; fTimeResolutionString.SetString(""); fNChannels = -1; fNChannelsString.SetString(""); fNHist = -1; fNHistString.SetString(""); fOffsetPPCHistograms = 20; fOffsetPPCHistogramsString.SetString(""); fCuts.SetString(""); fModerator.SetString(""); for (int i=0; i NHIST) noT0s = NHIST; TString str; str = "16 t0: "; for (Int_t i = 0; i < noT0s; i++){ //fTimeZero.push_back(value[i]); fTimeZero[i] = value[i]; str += value[i]; str += " "; } fTimeZeroString.SetString(str); } //---------------------------------------------------------- TObjString TLemRunHeader::GetRunTitle() const { TObjString ostr; TString str; Int_t delIndex; str = fRunTitle.GetString(); delIndex = str.First(":") + 2; str.Remove(0, delIndex); ostr.SetString(str); return ostr; } //---------------------------------------------------------- TObjString TLemRunHeader::GetLemSetup() const { TObjString ostr; TString str; Int_t delIndex; str = fLemSetup.GetString(); delIndex = str.First(":") + 2; str.Remove(0, delIndex); ostr.SetString(str); return ostr; } //---------------------------------------------------------- //Int_t TLemRunHeader::GetRunNumber() const { // TString str; // Int_t delIndex; // // str = fRunNumberString.GetString(); // delIndex = str.First(":") + 1; // str.Remove(0, delIndex); // return str.Atoi(); //} //---------------------------------------------------------- TObjString TLemRunHeader::GetStartTimeString() const { TObjString ostr; TString str; Int_t delIndex; str = fStartTimeString.GetString(); delIndex = str.First(":") + 2; str.Remove(0, delIndex); ostr.SetString(str); return ostr; } //---------------------------------------------------------- TObjString TLemRunHeader::GetStopTimeString() const { TObjString ostr; TString str; Int_t delIndex; str = fStopTimeString.GetString(); delIndex = str.First(":") + 2; str.Remove(0, delIndex); ostr.SetString(str); return ostr; } //---------------------------------------------------------- TObjString TLemRunHeader::GetCuts() const { TObjString ostr; TString str; Int_t delIndex; str = fCuts.GetString(); delIndex = str.First(":") + 2; str.Remove(0, delIndex); ostr.SetString(str); return ostr; } //---------------------------------------------------------- TObjString TLemRunHeader::GetModerator() const { TObjString ostr; TString str; Int_t delIndex; str = fModerator.GetString(); delIndex = str.First(":") + 2; str.Remove(0, delIndex); ostr.SetString(str); return ostr; } //---------------------------------------------------------- void TLemRunHeader::DumpHeader() const { TObjString oTitle, oSetup, oStart, oStop, oCuts, oMod; const char *title, *setup, *runStart, *runStop, *cuts, *mod; oTitle = GetRunTitle(); title = oTitle.GetName(); oSetup = GetLemSetup(); setup = oSetup.GetName(); oStart = GetStartTimeString(); runStart = oStart.GetName(); oStop = GetStopTimeString(); runStop = oStop.GetName(); oCuts = GetCuts(); cuts = oCuts.GetName(); oMod = GetModerator(); mod = oMod.GetName(); printf("Title: %s\n",title); printf("Setup: %s\n",setup); printf("Run Number: %04d\n", GetRunNumber()); printf("Start Time: %s\n", runStart); printf("Stop Time: %s\n", runStop); printf("Moderator HV: %10.2f kV\n", fModeratorHV); printf("Sample HV: %10.2f kV\n", fSampleHV); printf("Impl. Energy: %10.2f keV\n", fImpEnergy); printf("Sample T: %10.2f K\n", fSampleTemperature); printf("Sample B: %10.2f G\n", fSampleBField); printf("Time Res.: %10.7f ns\n", fTimeResolution); printf("N Channels: %10d\n", fNChannels); printf("N Histograms: %10d\n", fNHist); printf("Offset PPC Histograms: %10d\n", fOffsetPPCHistograms); printf("Cuts: %s\n", cuts); printf("Moderator: %s\n", mod); printf("t0: "); for (Int_t i=0; iRange(0., 0., 100., 100.); pt = new TPaveText(10.,10.,90.,90.,"br"); pt->SetFillColor(19); pt->SetTextAlign(12); strcpy(str, "Title: "); strcat(str, title); text = pt->AddText(str); strcpy(str, "Setup: "); strcat(str, setup); text = pt->AddText(str); strcpy(str, "Run Start: "); strcat(str, runStart); text = pt->AddText(str); strcpy(str, "Run Stop: "); strcat(str, runStop); text = pt->AddText(str); snprintf(str, sizeof(str), "Run Number: %10d", GetRunNumber()); text = pt->AddText(str); snprintf(str, sizeof(str), "Moderator HV: %10.2f kV", fModeratorHV); text = pt->AddText(str); snprintf(str, sizeof(str), "Sample HV: %10.2f kV", fSampleHV); text = pt->AddText(str); snprintf(str, sizeof(str), "Impl. Energy: %10.2f keV", fImpEnergy); text = pt->AddText(str); snprintf(str, sizeof(str), "Sample T: %10.2f K", fSampleTemperature); text = pt->AddText(str); snprintf(str, sizeof(str), "Sample B: %10.2f G", fSampleBField); text = pt->AddText(str); snprintf(str, sizeof(str), "Time Res.: %10.7f ns", fTimeResolution); text = pt->AddText(str); snprintf(str, sizeof(str), "N Channels: %10d", fNChannels); text = pt->AddText(str); snprintf(str, sizeof(str), "N Histograms: %10d", fNHist); text = pt->AddText(str); snprintf(str, sizeof(str), "Offset PPC Histograms: %10d", fOffsetPPCHistograms); text = pt->AddText(str); strcpy(str, "Cuts: "); strcat(str, cuts); text = pt->AddText(str); strcpy(str, "Moderator: "); strcat(str, mod); text = pt->AddText(str); strcpy(str,"t0: "); for (Int_t i=0; iAddText(str); pt->Draw(); ca->Modified(kTRUE); } //----------------------------------------------------------