source: trunk/Mars/mdrs/MDrsCalibrationTime.cc@ 18145

Last change on this file since 18145 was 18144, checked in by tbretz, 10 years ago
Accounted for the change in exception handling.
File size: 2.5 KB
Line 
1/* ======================================================================== *\
2!
3! *
4! * This file is part of MARS, the MAGIC Analysis and Reconstruction
5! * Software. It is distributed to you in the hope that it can be a useful
6! * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
7! * It is distributed WITHOUT ANY WARRANTY.
8! *
9! * Permission to use, copy, modify and distribute this software and its
10! * documentation for any purpose is hereby granted without fee,
11! * provided that the above copyright notice appear in all copies and
12! * that both that copyright notice and this permission notice appear
13! * in supporting documentation. It is provided "as is" without express
14! * or implied warranty.
15! *
16!
17!
18! Author(s): Thomas Bretz 2013 <mailto:tbretz@physik.rwth-aachen.de>
19!
20! Copyright: MAGIC Software Development, 2000-2015
21!
22!
23\* ======================================================================== */
24
25///////////////////////////////////////////////////////////////////////
26//
27// MHDrsCalibration
28//
29///////////////////////////////////////////////////////////////////////
30#include "MDrsCalibrationTime.h"
31
32#include <TH1.h>
33
34ClassImp(MDrsCalibrationTime);
35
36using namespace std;
37
38bool MDrsCalibrationTime::SetDelays(const TH1 &cam)
39{
40 if (cam.GetDimension()!=1)
41 return false;
42
43 fDelays.assign(cam.GetNbinsX(), 0);
44
45 for (int i=0; i<cam.GetNbinsX(); i++)
46 fDelays[i] = cam.GetBinContent(i+1);
47
48 return true;
49}
50
51bool MDrsCalibrationTime::ReadFits(const string &fname)
52{
53 string msg;
54 try
55 {
56 msg = DrsCalibrateTime::ReadFitsImp(fname);
57 }
58 catch (const exception &e)
59 {
60 msg = e.what();
61 }
62
63 if (msg.empty())
64 {
65 *fLog << inf << "Read DRS calibration file " << fname << endl;
66 return true;
67 }
68
69 *fLog << err << "Error reading from " << fname << ": " << msg << endl;
70 return false;
71}
72
73bool MDrsCalibrationTime::WriteFits(const string &fname) const
74{
75 const Bool_t exists = !gSystem->AccessPathName(fname.c_str(), kFileExists);
76 if (exists)
77 {
78 *fLog << err << "File '" << fname << "' already exists." << endl;
79 return false;
80 }
81
82 string msg;
83 try
84 {
85 msg = DrsCalibrateTime::WriteFitsImp(fname);
86 }
87 catch (const exception &e)
88 {
89 msg = e.what();
90 }
91
92 if (msg.empty())
93 {
94 *fLog << inf << "Wrote DRS calibration file " << fname << endl;
95 return true;
96 }
97
98 *fLog << err << "Error writing to " << fname << ": " << msg << endl;
99 return false;
100}
Note: See TracBrowser for help on using the repository browser.