1 |
//--------------------------------------------------------------------------------------------------
|
2 |
// $Id: HistStyles.h,v 1.1.2.2 2010/10/12 21:25:04 paus Exp $
|
3 |
//
|
4 |
// HistStyles
|
5 |
//
|
6 |
// This class implements HistStyles which is just a list of histogram and text styles needed to
|
7 |
// style a plot in PlotTask. There is a predefined default set of styles and there is a series of
|
8 |
// styles which can be defined by the user.
|
9 |
//
|
10 |
// Authors: C.Paus
|
11 |
//--------------------------------------------------------------------------------------------------
|
12 |
|
13 |
#ifndef MITPLOTS_STYLE_HISTSTYLES_H
|
14 |
#define MITPLOTS_STYLE_HISTSTYLES_H
|
15 |
|
16 |
#include <TH1.h>
|
17 |
#include <vector>
|
18 |
#include "MitPlots/Style/interface/HistStyle.h"
|
19 |
|
20 |
namespace mithep
|
21 |
{
|
22 |
class HistStyles
|
23 |
{
|
24 |
public:
|
25 |
HistStyles();
|
26 |
~HistStyles() {}
|
27 |
// access to the the style contents
|
28 |
const UInt_t *NStyles () const { return &fNStyles; }
|
29 |
const HistStyle *GetStyle(UInt_t i) const; // return 'i'th Monte Carlo style
|
30 |
const HistStyle *GetDataStyle() const; // return the data style
|
31 |
// add styles
|
32 |
void Clear(); // clear Monte Carlo histogram style
|
33 |
HistStyle *AddStyle(); // add another Monte Carlo histogram style
|
34 |
HistStyle *SetDataStyle(); // add the data histogram style
|
35 |
// helpers
|
36 |
void Show() const; // show style list properties
|
37 |
|
38 |
// for looping
|
39 |
const HistStyle *CurrentStyle() const; // return the present Monte Carlo style
|
40 |
void NextStyle(); // return the next Monte Carlo style
|
41 |
void PreviousStyle(); // return the previous Monte Carlo style
|
42 |
void ResetStyle(); // return the first Monte Carlo style
|
43 |
|
44 |
void ApplyCurrentStyle(TH1 *h) const; // apply present Monte Carlo style
|
45 |
void ApplyDataStyle (TH1 *h) const; // apply present data style
|
46 |
|
47 |
private:
|
48 |
// contents of the style
|
49 |
UInt_t fNStyles; // number of stored styles
|
50 |
UInt_t fIStyle; // index of present style
|
51 |
std::vector<HistStyle> fStyles; // list of styles
|
52 |
HistStyle *fDataStyle; // data sample style
|
53 |
|
54 |
ClassDef(HistStyles, 0) // Interface to HistStyles
|
55 |
};
|
56 |
}
|
57 |
#endif
|