| The Gaudi Framework v32r1 (f65d50dc)

H3D.h
Go to the documentation of this file.
1 #ifndef GAUDICOMMONSVC_H3D_H
2 #define GAUDICOMMONSVC_H3D_H
3
4 #include "Generic3D.h"
5 #include <AIDA/IHistogram3D.h>
6 #include <GaudiKernel/DataObject.h>
7 #include <TH3D.h>
8
9 namespace Gaudi {
10
17 class GAUDI_API Histogram3D : public DataObject, public Generic3D<AIDA::IHistogram3D, TH3D> {
18 public:
20 Histogram3D();
22 Histogram3D( TH3D* rep );
23
25 bool fill( double x, double y, double z, double weight ) override;
27 virtual bool setBinContents( int i, int j, int k, int entries, double height, double error, double centreX,
28 double centreY, double centreZ );
30 virtual bool setRms( double rmsX, double rmsY, double rmsZ );
31 // overwrite reset
32 bool reset() override;
34 void* cast( const std::string& className ) const override;
36 void copyFromAida( const AIDA::IHistogram3D& h );
38 const CLID& clID() const override { return classID(); }
39 static const CLID& classID() { return CLID_H3D; }
40
41 protected:
42 // cache sumwx and sumwy when setting contents since I don't have bin mean
43 double m_sumwx = 0;
44 double m_sumwy = 0;
45 double m_sumwz = 0;
46
47 private:
48 std::mutex m_fillSerialization;
49 };
50 } // namespace Gaudi
51
52 #endif
Gaudi::Histogram3D::classID
static const CLID & classID()
Definition: H3D.h:39
Gaudi::Histogram3D::m_fillSerialization
std::mutex m_fillSerialization
Definition: H3D.h:48
Gaudi::Utils::Histos::fill
GAUDI_API void fill(AIDA::IHistogram1D *histo, const double value, const double weight=1.0)
simple function to fill AIDA::IHistogram1D objects
Definition: Fill.cpp:35
std::mutex
std::string
STL class.
Gaudi::Histogram3D
AIDA implementation for 3 D histograms using ROOT THD2.
Definition: H3D.h:17
Gaudi::Histogram3D::clID
const CLID & clID() const override
Retrieve reference to class defininition identifier.
Definition: H3D.h:38
CLID
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
Generic3D.h
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:71
DataObject
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
Gaudi
Header file for std:chrono::duration-based Counters.
Definition: __init__.py:1
DataObject.h
Gaudi::Generic3D
Common AIDA implementation stuff for histograms and profiles using ROOT implementations.
Definition: Generic3D.h:35