Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
P2D.h
Go to the documentation of this file.
1 #ifndef GAUDICOMMONSVC_P2D_H
2 #define GAUDICOMMONSVC_P2D_H
3 
4 #include "Generic2D.h"
5 #include <AIDA/IProfile1D.h>
7 #include <TProfile2D.h>
8 
9 namespace Gaudi {
10 
17  class GAUDI_API Profile2D : public DataObject, public Generic2D<AIDA::IProfile2D, TProfile2D> {
18  public:
20  Profile2D() : Base( new TProfile2D() ) {
21  m_classType = "IProfile2D";
22  m_rep->SetErrorOption( "s" );
23  m_rep->SetDirectory( nullptr );
24  }
26  Profile2D( TProfile2D* rep );
27 
29  bool fill( double x, double y, double z, double weight ) override {
30  // avoid race conditions when filling the profile
31  std::lock_guard<std::mutex> guard( m_fillSerialization );
32  m_rep->Fill( x, y, z, weight );
33  return true;
34  }
36  const CLID& clID() const override { return classID(); }
37  static const CLID& classID() { return CLID_ProfileH2; }
38 
39  private:
41  };
42 } // namespace Gaudi
43 
44 #endif
AIDA implementation for 2 D profiles using ROOT TProfile2D.
Definition: P2D.h:17
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
std::mutex m_fillSerialization
Definition: P2D.h:40
const CLID & clID() const override
Retrieve reference to class defininition identifier.
Definition: P2D.h:36
static const CLID & classID()
Definition: P2D.h:37
Profile2D()
Default Constructor.
Definition: P2D.h:20
#define GAUDI_API
Definition: Kernel.h:71
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
Helper functions to set/get the application return code.
Definition: __init__.py:1
bool fill(double x, double y, double z, double weight) override
Fill bin content.
Definition: P2D.h:29
Common AIDA implementation stuff for histograms and profiles using ROOT implementations.
Definition: Generic2D.h:35