81 lines
1.6 KiB
Plaintext
81 lines
1.6 KiB
Plaintext
// Copyright (C) 2010, Guy Barrand. All rights reserved.
|
|
// See the file tools.license for terms.
|
|
|
|
#ifndef tools_hbook_p1
|
|
#define tools_hbook_p1
|
|
|
|
#include "base_histo"
|
|
|
|
namespace tools {
|
|
namespace hbook {
|
|
|
|
class p1 : public base_histo {
|
|
public:
|
|
p1(int aID,const std::string& aTitle,
|
|
int aXnumber,rarg aXmin,rarg aXmax,
|
|
rarg aVmin,rarg aVmax)
|
|
:base_histo(aID)
|
|
,m_axis(m_path,aID,1,true,true)
|
|
{
|
|
cd_beg();
|
|
CHBPROF(m_id,aTitle,
|
|
aXnumber,aXmin,aXmax,
|
|
aVmin,aVmax,
|
|
""); //FIXME : or "S" or "T" ?
|
|
cd_end();
|
|
}
|
|
virtual ~p1(){
|
|
cd_beg();
|
|
CHDELET(m_id);
|
|
cd_end();
|
|
}
|
|
private:
|
|
p1(const p1& a_from)
|
|
:base_histo(a_from)
|
|
,m_axis(a_from.m_axis)
|
|
{}
|
|
p1& operator=(const p1& a_from){
|
|
base_histo::operator=(a_from);
|
|
m_axis = a_from.m_axis;
|
|
return *this;
|
|
}
|
|
public:
|
|
bool configure(int aXnumber,rarg aXmin,rarg aXmax,rarg aVmin,rarg aVmax){
|
|
cd_beg();
|
|
CHBPROF(m_id,title(),
|
|
aXnumber,aXmin,aXmax,
|
|
aVmin,aVmax,
|
|
""); //FIXME : or "S" or "T" ?
|
|
cd_end();
|
|
return true;
|
|
}
|
|
public:
|
|
void fill(rarg aX,rarg aY,rarg aWeight = 1) {
|
|
cd_beg();
|
|
CHFILL(m_id,aX,aY,aWeight);
|
|
cd_end();
|
|
}
|
|
|
|
// optimization :
|
|
void fill_beg() const {cd_beg();}
|
|
void fill_fast(rarg aX,rarg aY,rarg aWeight = 1) {
|
|
CHFILL(m_id,aX,aY,aWeight);
|
|
}
|
|
void fill_end() const {cd_end();}
|
|
|
|
int dimension() const {return 1;}
|
|
|
|
const hbook::axis& axis() const {return m_axis;}
|
|
hbook::axis& axis() {return m_axis;}
|
|
|
|
int coord_to_index(rarg aCoord) const {
|
|
return m_axis.coord_to_index(aCoord);
|
|
}
|
|
protected:
|
|
hbook::axis m_axis;
|
|
};
|
|
|
|
}}
|
|
|
|
#endif
|