| The Gaudi Framework v27r1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

HistoDef.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_HISTODEF_H
2 #define GAUDIKERNEL_HISTODEF_H 1
3 // ============================================================================
4 // Include files
5 // ============================================================================
6 // STD & STL
7 // ============================================================================
8 #include <iosfwd>
9 #include <string>
10 // ============================================================================
11 // Gaudi
12 // ============================================================================
13 #include "GaudiKernel/Kernel.h"
14 // ============================================================================
15 // Forward decalrations
16 // ============================================================================
17 class IHistogramSvc ;
18 namespace AIDA { class IHistogram1D ; }
19 // ============================================================================
20 namespace Gaudi
21 {
22 // ==========================================================================
30 class GAUDI_API Histo1DDef
31 {
32 public:
33 // ========================================================================
40 Histo1DDef
41 ( double low ,
42 double high ,
43 int bins = 100 ,
44 std::string title = "" );
45 // ========================================================================
52 Histo1DDef
53 ( std::string title = "" ,
54 double low = 0.0 ,
55 double high = 1.0 ,
56 int bins = 100 ) ;
57 // ========================================================================
59 virtual ~Histo1DDef( ) = default;
60 // ========================================================================
61 public:
62 // ========================================================================
64 double lowEdge () const { return m_low ; }
66 double highEdge () const { return m_high ; }
68 int bins () const { return m_bins ; }
70 const std::string& title () const { return m_title ; }
71 // ========================================================================
72 public:
73 // ========================================================================
75 void setLowEdge ( double value ) { m_low = value ; }
77 void setHighEdge ( double value ) { m_high = value ; }
79 void setBins ( int value ) { m_bins = value ; }
81 void setTitle ( std::string value ) { m_title = std::move(value); }
82 // ========================================================================
83 public:
84 // ========================================================================
86 std::ostream& fillStream ( std::ostream& o ) const ;
87 // ========================================================================
88 public:
89 // ========================================================================
91 bool operator< ( const Histo1DDef& right ) const ;
93 bool operator==( const Histo1DDef& right ) const ;
95 bool operator!=( const Histo1DDef& right ) const ;
96 // ========================================================================
97 public:
98 // ========================================================================
100 bool ok () const { return 0 < bins() && lowEdge() < highEdge() ; }
101 // ========================================================================
102 private:
103 // ========================================================================
104 // Histogram title
105 std::string m_title ;
106 // Low Edge
107 double m_low ;
108 // High Edge
109 double m_high ;
110 // Number of bins
111 int m_bins ;
112 // ========================================================================
113 };
114 // ==========================================================================
116 GAUDI_API std::ostream&
117 operator<<( std::ostream& o , const Gaudi::Histo1DDef& histo ) ;
118 // ==========================================================================
124 namespace Histos
125 {
126 // ========================================================================
132 GAUDI_API AIDA::IHistogram1D* book
133 ( IHistogramSvc* svc ,
134 const std::string& path ,
135 const Gaudi::Histo1DDef& hist ) ;
136 // ========================================================================
143 GAUDI_API AIDA::IHistogram1D* book
144 ( IHistogramSvc* svc ,
145 const std::string& dir ,
146 const std::string& id ,
147 const Gaudi::Histo1DDef& hist ) ;
148 // ========================================================================
155 GAUDI_API AIDA::IHistogram1D* book
156 ( IHistogramSvc* svc ,
157 const std::string& dir ,
158 const int id ,
159 const Gaudi::Histo1DDef& hist ) ;
160 // ========================================================================
161 } // end of namespace Gaudi::Histos
162 // ==========================================================================
163 } // end of namespace Gaudi
164 // ============================================================================
165 // The END
166 // ============================================================================
167 #endif // GAUDIKERNEL_HISTODEF_H
168 // ============================================================================
Histos
helper namespace to collect useful definitions, types, constants and functions, related to manipulati...
Gaudi::Histo1DDef::setBins
void setBins(int value)
set number of bis
Definition: HistoDef.h:79
Gaudi::operator<<
GAUDI_API std::ostream & operator<<(std::ostream &o, const Gaudi::Histo1DDef &histo)
the streamer operator for class Gaudi::Histo1DDef
Definition: HistoDef.cpp:109
Kernel.h
Gaudi::Histos::book
GAUDI_API AIDA::IHistogram1D * book(IHistogramSvc *svc, const std::string &path, const Gaudi::Histo1DDef &hist)
helper function to book 1D-histogram
Definition: HistoDef.cpp:124
Gaudi::operator==
bool operator==(const Gaudi::StringKey &key1, const char(&key2)[N])
equality operator with C-arrays
Definition: StringKey.h:151
Gaudi::Histo1DDef::highEdge
double highEdge() const
get the high edge
Definition: HistoDef.h:66
Gaudi::Histo1DDef::lowEdge
double lowEdge() const
get the low edge
Definition: HistoDef.h:64
Gaudi::Histo1DDef::setHighEdge
void setHighEdge(double value)
set high edge
Definition: HistoDef.h:77
AIDA
GaudiKernel.
Definition: Fill.h:8
Gaudi::Histo1DDef::title
const std::string & title() const
get the title
Definition: HistoDef.h:70
std::string
STL class.
Gaudi::Histo1DDef::m_high
double m_high
High Edge.
Definition: HistoDef.h:109
Gaudi::Histo1DDef
Simple helper class for description of 1D-histogram The class is targeted to act as the primary "hist...
Definition: HistoDef.h:30
Gaudi::Histo1DDef::m_title
std::string m_title
Histogram title.
Definition: HistoDef.h:105
Gaudi::Histo1DDef::ok
bool ok() const
check if all fields are "reasonable"
Definition: HistoDef.h:100
dump_component_properties.value
list value
Definition: dump_component_properties.py:12
IHistogramSvc
Definition of the IHistogramSvc interface class.
Definition: IHistogramSvc.h:47
Gaudi::operator!=
bool operator!=(const Gaudi::StringKey &key1, const char(&key2)[N])
non-equality operator with C-arrays
Definition: StringKey.h:165
std::move
T move(T...args)
Gaudi::Utils::Histos::path
GAUDI_API std::string path(const AIDA::IBaseHistogram *aida)
get the path in THS for AIDA histogram
Definition: HistoTableFormat.cpp:191
Gaudi::Histo1DDef::setTitle
void setTitle(std::string value)
set the title
Definition: HistoDef.h:81
operator<
bool operator<(const EventIDBase &lhs, const EventIDBase &rhs)
Definition: EventIDBase.h:119
Gaudi::Histo1DDef::bins
int bins() const
get the number of bins
Definition: HistoDef.h:68
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:107
Gaudi::Histo1DDef::m_bins
int m_bins
Number of bins.
Definition: HistoDef.h:111
std::ostream
STL class.
Gaudi
Helper functions to set/get the application return code.
Definition: __init__.py:1
Gaudi::Histo1DDef::m_low
double m_low
Low Edge.
Definition: HistoDef.h:107
Gaudi::Histo1DDef::setLowEdge
void setLowEdge(double value)
set low edge
Definition: HistoDef.h:75