00001 #include "TBeamMonitorParam.h" 00002 00003 #include "TGo4Log.h" 00004 00005 TBeamMonitorParam::TBeamMonitorParam(const char* name) : TGo4Parameter(name) 00006 { 00007 UseSettingsTable = kFALSE; 00008 00009 for (int n=0;n<TableLength;n++) { 00010 RunNames[n].Clear(); 00011 PidNames[n].Clear(); 00012 } 00013 00014 Cher1ForMuon = kTRUE; 00015 Cher1ForPion = kTRUE; 00016 Cher1ForElectron = kTRUE; 00017 } 00018 00019 Bool_t TBeamMonitorParam::Add(const char* runname, const char* pidname) 00020 { 00021 if ((runname==0) || (pidname==0) || (*runname==0) || (*pidname==0)) return kFALSE; 00022 00023 for (int n=0;n<TableLength;n++) 00024 if (RunNames[n].IsNull()) { 00025 RunNames[n] = runname; 00026 PidNames[n] = pidname; 00027 return kTRUE; 00028 } 00029 00030 TGo4Log::Error("No place in TBeamMonitorParam for run %s", runname); 00031 return kFALSE; 00032 } 00033 00034 TString TBeamMonitorParam::FindPidForRun(const char* fname) 00035 { 00036 if ((fname!=0) && (*fname!=0)) { 00037 TString ff(fname); 00038 for (int n=0;n<TableLength;n++) 00039 if (ff.Contains(RunNames[n])) return PidNames[n]; 00040 } 00041 00042 return TString(); 00043 } 00044 00045