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

Last change on this file since 18148 was 18148, checked in by tbretz, 10 years ago
std namespace missing; expand path name; consequently argument must not be const
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(TString fname)
52{
53 gSystem->ExpandPathName(fname);
54
55 string msg;
56 try
57 {
58 msg = DrsCalibrateTime::ReadFitsImp(fname.Data());
59 }
60 catch (const exception &e)
61 {
62 msg = e.what();
63 }
64
65 if (msg.empty())
66 {
67 *fLog << inf << "Read DRS calibration file " << fname << endl;
68 return true;
69 }
70
71 *fLog << err << "Error reading from " << fname << ": " << msg << endl;
72 return false;
73}
74
75bool MDrsCalibrationTime::WriteFits(const string &fname) const
76{
77 const Bool_t exists = !gSystem->AccessPathName(fname.c_str(), kFileExists);
78 if (exists)
79 {
80 *fLog << err << "File '" << fname << "' already exists." << endl;
81 return false;
82 }
83
84 string msg;
85 try
86 {
87 msg = DrsCalibrateTime::WriteFitsImp(fname);
88 }
89 catch (const exception &e)
90 {
91 msg = e.what();
92 }
93
94 if (msg.empty())
95 {
96 *fLog << inf << "Wrote DRS calibration file " << fname << endl;
97 return true;
98 }
99
100 *fLog << err << "Error writing to " << fname << ": " << msg << endl;
101 return false;
102}
Note: See TracBrowser for help on using the repository browser.