10 #ifndef CBMMUCHSEGMENTMANUAL_H
11 #define CBMMUCHSEGMENTMANUAL_H 1
14 #include <RtypesCore.h>
46 virtual InitStatus
Init();
82 SetSigma(Int_t iStation, Int_t iRegion, Double_t sigmaX, Double_t sigmaY);
91 SetPadSize(Int_t iStation, Int_t iRegion, Double_t padLx, Double_t padLy);
101 std::map<Int_t, Int_t>
103 std::map<Int_t, std::vector<Double_t>>
105 std::map<Int_t, std::vector<Double_t>>
107 std::map<Int_t, std::vector<Double_t>>
109 std::map<Int_t, Int_t>
111 std::map<Int_t, std::vector<Int_t>>
113 std::map<Int_t, std::vector<Int_t>>
150 Bool_t useModuleDesign);
190 const TString direction,
210 void Print(Option_t* =
"")
const;
218 std::string::size_type pos1 = str.find_first_not_of(
' ');
219 std::string::size_type pos2 = str.find_last_not_of(
' ');
220 str = str.substr(pos1 == std::string::npos ? 0 : pos1,
221 pos2 == std::string::npos ? str.length() - 1
227 return str[0] ==
'#' || str.length() == 0 || str[0] ==
'\0'
232 getline(infile, str);
234 getline(infile, str);
237 std::vector<std::string>&
238 Split(
const std::string& s,
char delim, std::vector<std::string>& elems) {
239 std::stringstream ss(s);
241 while (getline(ss, item, delim)) {
242 if (item.length() != 0) elems.push_back(item);
248 std::vector<std::string>
Split(
const std::string& s,
char delim) {
249 std::vector<std::string> elems;
250 return Split(s, delim, elems);
256 std::stringstream ss(str);
257 if ((ss >> number).fail() || !(ss >> std::ws).eof())
258 throw std::bad_cast();
259 }
catch (std::bad_cast exc) { Fatal(
"",
"Invalid cast.\n"); }