Diana Software
QRunType.cc
Go to the documentation of this file.
1 #include "QRunType.hh"
2 #include <sstream>
3 
4 
6 {
7 
8 }
9 
10 RunType::RunType(const RunType& runType) : fRunType(runType.fRunType)
11 {
12 
13 }
14 
15 RunType::RunType(const RunType_& runType) : fRunType(runType)
16 {
17 
18 }
19 
21 {
22  fRunType = rhs.fRunType;
23  return *this;
24 }
25 
26 bool RunType::operator==(const RunType& rhs) const
27 {
28  return fRunType == rhs.fRunType;
29 }
30 
31 bool RunType::operator==(const RunType_& rhs) const
32 {
33  return fRunType == rhs;
34 }
35 
36 
37 
39 {
40  fRunType = rhs;
41  return *this;
42 }
43 
44 
45 std::string RunType::AsString(RunType_ runType)
46 {
47  std::string s;
48  switch(runType) {
49  case RT_CALIBRATION: { s = "Calibration"; break; }
50  case RT_BACKGROUND: { s = "Background"; break; }
51  case RT_NPULSES: { s = "NPulses"; break; }
52  case RT_TEST: { s = "Test"; break; }
53  case RT_MONTECARLO: { s = "MonteCarlo"; break; }
54  case RT_PHYSICS: { s = "Physics"; break; }
55  case RT_REPROCESS: { s = "Reprocess"; break; }
56  case RT_S_LOADCURVES: { s = "Setup_LoadCurves"; break; }
57  case RT_S_WORKINGPOINT: { s = "Setup_WorkingPoint"; break; }
58  case RT_S_HEATERSET: { s = "Setup_HeaterSet"; break; }
59  case RT_S_GAINSET: { s = "Setup_GainSet"; break; }
60  case RT_S_OFFSETSET: { s = "Setup_OffsetSet"; break; }
61  case RT_S_ELECHECK: { s = "Setup_EleCheck"; break; }
62  case RT_S_LOADCURVES_OF: { s = "Setup_LoadCurves_OF"; break; }
63  case RT_CALIBRATION_TH232: { s = "Calibration_Th232"; break; }
64  case RT_CALIBRATION_CO60: { s = "Calibration_Co60"; break; }
65  case RT_CALIBRATION_CO56: { s = "Calibration_Co56"; break; }
66  case RT_BACKGROUND_PARKEDSTRINGS: { s = "Background_ParkedStrings"; break; }
67  case RT_UNKNOWN:
68  default: { s = "UNKNOWN"; break; }
69  }
70  return s;
71 }
72 
73 std::string RunType::AsAbbreviation(RunType_ runType) {
74 
75  std::string s;
76  switch(runType) {
77  case RT_CALIBRATION: { s = "Calib"; break; }
78  case RT_BACKGROUND: { s = "Bkgnd"; break; }
79  case RT_NPULSES: { s = "NPuls"; break; }
80  case RT_TEST: { s = "ATest"; break; }
81  case RT_MONTECARLO: { s = "MCarl"; break; }
82  case RT_PHYSICS: { s = "Physc"; break; }
83  case RT_REPROCESS: { s = "Repro"; break; }
84  case RT_S_LOADCURVES: { s = "LoadC"; break; }
85  case RT_S_WORKINGPOINT: { s = "WorkP"; break; }
86  case RT_S_HEATERSET: { s = "Heatr"; break; }
87  case RT_S_GAINSET: { s = "GainS"; break; }
88  case RT_S_OFFSETSET: { s = "Offst"; break; }
89  case RT_S_ELECHECK: { s = "EleCk"; break; }
90  case RT_S_LOADCURVES_OF: { s = "LdCOF"; break; }
91  case RT_CALIBRATION_TH232: { s = "CTh232"; break; }
92  case RT_CALIBRATION_CO60: { s = "CCo-60"; break; }
93  case RT_CALIBRATION_CO56: { s = "CCo-56"; break; }
94  case RT_BACKGROUND_PARKEDSTRINGS:{ s = "BkgSt"; break; }
95  case RT_UNKNOWN:
96  default: { s = "UKNWN"; break; }
97  }
98  return s;
99 }
100 
101 QError RunType::Set(const std::string& s)
102 {
105  if(s == "Calibration" || s == "C" || s == "Calib") fRunType = RT_CALIBRATION;
106  else if(s == "Background" || s == "B" || s == "Bkgnd") fRunType = RT_BACKGROUND;
107  else if(s == "NPulses" || s == "N" || s == "NPuls") fRunType = RT_NPULSES;
108  else if(s == "Test" || s == "T" || s == "ATest") fRunType = RT_TEST;
109  else if(s == "MonteCarlo"|| s == "M" || s == "MCarl") fRunType = RT_MONTECARLO;
110  else if(s == "Physics"|| s == "P" || s == "Physc") fRunType = RT_PHYSICS;
111  else if(s == "Reprocess"|| s == "R" || s == "Repro") fRunType = RT_REPROCESS;
112  else if(s == "Setup_LoadCurves"|| s == "SL" || s == "LoadC") fRunType = RT_S_LOADCURVES;
113  else if(s == "Setup_WorkingPoint"|| s == "SW" || s == "WorkP") fRunType = RT_S_WORKINGPOINT;
114  else if(s == "Setup_HeaterSet"|| s == "SH" || s == "Heatr") fRunType = RT_S_HEATERSET;
115  else if(s == "Setup_GainSet"|| s == "SG" || s == "GainS") fRunType = RT_S_GAINSET;
116  else if(s == "Setup_OffsetSet"|| s == "SO" || s == "Offst") fRunType = RT_S_OFFSETSET;
117  else if(s == "Setup_EleCheck"|| s == "SE" || s == "EleCk") fRunType = RT_S_ELECHECK;
118  else if(s == "Setup_LoadCurves_OF"|| s == "SLO" || s == "LdCOF") fRunType = RT_S_LOADCURVES_OF;
119  else if(s == "Calibration_Th232" || s == "CTh232") fRunType = RT_CALIBRATION_TH232;
120  else if(s == "Calibration_C060" || s == "CCo-60") fRunType = RT_CALIBRATION_CO60;
121  else if(s == "Calibration_C056" || s == "CCo-56") fRunType = RT_CALIBRATION_CO56;
122 
123  else if(s == "Background_ParkedStrings" || s == "BkgSt") fRunType = RT_BACKGROUND_PARKEDSTRINGS;
124 
125  else {
128  std::stringstream msg;
129  msg<<"Cannot convert: \""<<s<<"\" into run type";
130  err.SetDescription(__FILE__,__LINE__,msg.str());
131  }
132  return err;
133 }
134 
135 
err
Definition: CheckOF.C:114
@ QERR_UNKNOWN_ERR
Definition: QError.hh:108
@ QERR_SUCCESS
Definition: QError.hh:27
RunType_
allowed run types
Definition: QRunType.hh:13
@ RT_S_GAINSET
Definition: QRunType.hh:25
@ RT_CALIBRATION_TH232
Definition: QRunType.hh:30
@ RT_S_OFFSETSET
Definition: QRunType.hh:26
@ RT_S_LOADCURVES
Definition: QRunType.hh:22
@ RT_S_LOADCURVES_OF
Definition: QRunType.hh:28
@ RT_TEST
Definition: QRunType.hh:18
@ RT_CALIBRATION_CO56
Definition: QRunType.hh:32
@ RT_CALIBRATION
Definition: QRunType.hh:16
@ RT_S_HEATERSET
Definition: QRunType.hh:24
@ RT_CALIBRATION_CO60
Definition: QRunType.hh:31
@ RT_PHYSICS
Definition: QRunType.hh:21
@ RT_S_WORKINGPOINT
Definition: QRunType.hh:23
@ RT_S_ELECHECK
Definition: QRunType.hh:27
@ RT_REPROCESS
Definition: QRunType.hh:19
@ RT_NPULSES
Definition: QRunType.hh:17
@ RT_UNKNOWN
Definition: QRunType.hh:14
@ RT_MONTECARLO
Definition: QRunType.hh:20
@ RT_BACKGROUND_PARKEDSTRINGS
Definition: QRunType.hh:34
@ RT_BACKGROUND
Definition: QRunType.hh:15
error class with error type and description
Definition: QError.hh:115
class wrapper to RunType_
Definition: QRunType.hh:45
RunType_ fRunType
Definition: QRunType.hh:76
std::string AsString() const
convert to string
Definition: QRunType.hh:64
const RunType & operator=(const RunType &rhs)
operator =
Definition: QRunType.cc:20
bool operator==(const RunType &rhs) const
operator ==
Definition: QRunType.cc:26
RunType()
ctor
Definition: QRunType.cc:5
QError Set(const std::string &)
convert from string
Definition: QRunType.cc:101
std::string AsAbbreviation() const
convert to abbreviation
Definition: QRunType.hh:68