62 lines
1.8 KiB
Plaintext
62 lines
1.8 KiB
Plaintext
// Copyright (C) 2010, Guy Barrand. All rights reserved.
|
|
// See the file tools.license for terms.
|
|
|
|
#ifndef tools_wroot_to
|
|
#define tools_wroot_to
|
|
|
|
#include "directory"
|
|
#include "streamers"
|
|
#include "bufobj"
|
|
|
|
namespace tools {
|
|
namespace wroot {
|
|
|
|
inline bool to(directory& a_dir,
|
|
const histo::h1d& a_histo,const std::string& a_name) {
|
|
bufobj* bo = new bufobj(a_dir.file().out(),a_dir.file().byte_swap(),256,
|
|
a_name,a_histo.title(),"TH1D");
|
|
if(!TH1D_stream(*bo,a_histo,a_name)) {
|
|
a_dir.file().out() << "tools::wroot::to :"
|
|
<< " TH1D_stream failed."
|
|
<< std::endl;
|
|
delete bo;
|
|
return false;
|
|
}
|
|
a_dir.append_object(bo); //a_dir takes ownership of bo.
|
|
return true;
|
|
}
|
|
|
|
inline bool to(directory& a_dir,
|
|
const histo::h2d& a_histo,const std::string& a_name) {
|
|
bufobj* bo = new bufobj(a_dir.file().out(),a_dir.file().byte_swap(),256,
|
|
a_name,a_histo.title(),"TH2D");
|
|
if(!TH2D_stream(*bo,a_histo,a_name)) {
|
|
a_dir.file().out() << "tools::wroot::to :"
|
|
<< " TH2D_stream failed."
|
|
<< std::endl;
|
|
delete bo;
|
|
return false;
|
|
}
|
|
a_dir.append_object(bo); //a_dir takes ownership of bo.
|
|
return true;
|
|
}
|
|
|
|
inline bool to(directory& a_dir,
|
|
const histo::p1d& a_histo,const std::string& a_name) {
|
|
bufobj* bo = new bufobj(a_dir.file().out(),a_dir.file().byte_swap(),256,
|
|
a_name,a_histo.title(),"TProfile");
|
|
if(!TProfile_stream(*bo,a_histo,a_name)) {
|
|
a_dir.file().out() << "tools::wroot::to :"
|
|
<< " TProfile_stream failed."
|
|
<< std::endl;
|
|
delete bo;
|
|
return false;
|
|
}
|
|
a_dir.append_object(bo); //a_dir takes ownership of bo.
|
|
return true;
|
|
}
|
|
|
|
}}
|
|
|
|
#endif
|