ATLAS Offline Software
Loading...
Searching...
No Matches
RootD3PDSvc.h
Go to the documentation of this file.
1// This file's extension implies that it's C, but it's really -*- C++ -*-.
2
3/*
4 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5*/
6
7// $Id$
14
15
16#ifndef D3PDMAKERROOT_ROOTD3PDSVC_H
17#define D3PDMAKERROOT_ROOTD3PDSVC_H
18
21#include "GaudiKernel/ServiceHandle.h"
22#include "GaudiKernel/ITHistSvc.h"
23#include <vector>
24#include <string>
25
26#include "RootD3PD.h"
27
28namespace D3PD {
29
30
31 // class RootD3PD;
32
33
38 : public extends<AthService, ID3PDSvc>
39{
40public:
46 RootD3PDSvc (const std::string& name,
47 ISvcLocator* svcloc);
48
50 virtual StatusCode initialize() override;
51
53 virtual StatusCode finalize() override;
54
56 virtual StatusCode stop() override;
57
68 virtual StatusCode make (const std::string& name, ID3PD* & d3pd) override;
69
70
71private:
73 static void cleanup();
74
75
78
82 std::string m_masterTree;
83
85 std::string m_indexMajor;
87 std::string m_indexMinor;
88
91
94
101 long long m_autoFlush;
102
104 std::vector< std::string > m_allowedNames;
105
107 std::vector< std::string > m_vetoedNames;
108
111
113 std::vector<std::unique_ptr<RootD3PD> > m_d3pds;
114
115 // Disallow copying.
118};
119
120
121} // namespace D3PD
122
123
124#endif // not D3PDMAKERROOT_ROOTD3PDSVC_H
Abstract interface for service to create D3PD trees.
Root-based D3PD tree.
Define an abstract interface for building a D3PD tree.
Definition ID3PD.h:37
virtual StatusCode stop() override
Standard Gaudi stop method.
virtual StatusCode initialize() override
Standard Gaudi initialize method.
std::string m_indexMinor
Property: Minor variable name for index making, or null.
Definition RootD3PDSvc.h:87
virtual StatusCode finalize() override
Standard Gaudi finalize method.
RootD3PDSvc(const RootD3PDSvc &)
int m_entryOffsetLen
Property: Basket entry offset buffer size, or -1 to use the Root default.
Definition RootD3PDSvc.h:93
RootD3PDSvc(const std::string &name, ISvcLocator *svcloc)
Constructor.
static void cleanup()
Make sure all files are closed before exiting, to prevent crashes.
bool m_doBranchRef
Property: If true, then add BranchRef info to the tuple.
Definition RootD3PDSvc.h:77
std::vector< std::string > m_allowedNames
Property: Allowed names for the created D3PD.
ServiceHandle< ITHistSvc > m_histSvc
Property: Gaudi THistSvc.
std::vector< std::string > m_vetoedNames
Property: Vetoed names for the created D3PD.
long long m_autoFlush
Property: Value to set for ROOT's AutoFlush parameter.
int m_basketSize
Property: Basket buffer size, or -1 to use the Root default.
Definition RootD3PDSvc.h:90
std::vector< std::unique_ptr< RootD3PD > > m_d3pds
Remember all the tuples we've made.
virtual StatusCode make(const std::string &name, ID3PD *&d3pd) override
Create a new D3PD tree.
std::string m_indexMajor
Property: Major variable name for index making, or null.
Definition RootD3PDSvc.h:85
RootD3PDSvc & operator=(const RootD3PDSvc &)
std::string m_masterTree
Property: Name of the master tree.
Definition RootD3PDSvc.h:82
Block filler tool for noisy FEB information.