Diana Software
QDetectorName.cc
Go to the documentation of this file.
1 #include "QDetectorName.hh"
2 #include <sstream>
3 
5 {
6 
7 }
8 
9 DetectorName::DetectorName(const DetectorName& detectorName) : fDetectorName(detectorName.fDetectorName)
10 {
11 
12 }
13 
14 DetectorName::DetectorName(const DetectorName_& detectorName) : fDetectorName(detectorName)
15 {
16 
17 }
18 
20 {
22  return *this;
23 }
24 
26 {
27  fDetectorName = rhs;
28  return *this;
29 }
30 
31 
32 std::string DetectorName::AsString() const
33 {
34  std::string s;
35  switch(fDetectorName) {
36  case DN_CUORICINO: { s = "Cuoricino"; break; }
37  case DN_THREETOWERS: { s = "Three_Towers"; break; }
38  case DN_CUORE0: { s = "Cuore0"; break; }
39  case DN_CUORE: { s = "Cuore"; break; }
40  case DN_HALLA: { s = "HallA"; break; }
41  case DN_HALLC: { s = "HallC"; break; }
42  case DN_NUCLEUS: { s = "NUCLEUS"; break; }
43  case DN_RANDD: { s = "R&D"; break; } // Change it to the name of your R&D
44  case DN_BULLKID: { s = "BULLKID"; break; }
45  case DN_UNKNOWN:
46  default: { s = "UNKNOWN"; break; }
47  }
48  return s;
49 }
50 
51 
52 QError DetectorName::Set(const int run)
53 {
55  int digit = (run/100000);
56  if(digit >= 0 && digit < 9) {
58  return err;
59  }
60 
63  std::stringstream msg;
64  msg<<"Cannot convert run: \""<<run<<"\" into run detector name";
65  err.SetDescription(__FILE__,__LINE__,msg.str());
66  return err;
67 
68 }
69 
err
Definition: CheckOF.C:114
DetectorName_
possible detector names
@ DN_UNKNOWN
@ DN_CUORICINO
@ DN_RANDD
@ DN_CUORE0
@ DN_HALLC
@ DN_BULLKID
@ DN_NUCLEUS
@ DN_THREETOWERS
@ DN_HALLA
@ DN_CUORE
@ QERR_UNKNOWN_ERR
Definition: QError.hh:108
@ QERR_SUCCESS
Definition: QError.hh:27
class wrapper to DetectorName_
std::string AsString() const
convert to string
DetectorName_ fDetectorName
QError Set(const int run)
convert from run number
DetectorName()
ctor
Definition: QDetectorName.cc:4
const DetectorName & operator=(const DetectorName &rhs)
operator =
error class with error type and description
Definition: QError.hh:115