The Gaudi Framework  v33r1 (b1225454)
PersSvc.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #ifndef ROOTHISTCNV_PERSSVC_H
12 #define ROOTHISTCNV_PERSSVC_H 1
13 
14 // Include files
16 
17 // Forward declarations
18 class TFile;
19 
20 namespace RootHistCnv {
21 
28  class PersSvc : public ConversionSvc {
29  public:
31  StatusCode initialize() override;
32 
34  StatusCode finalize() override;
35 
37  StatusCode createRep( DataObject* pObject, IOpaqueAddress*& refpAddress ) override;
38 
41 
42  private:
43  // undefFileName is defined in PersSvc.cpp
44  Gaudi::Property<std::string> m_defFileName{this, "OutputFile", undefFileName, "default file name"};
45  Gaudi::Property<bool> m_alphaIds{this, "ForceAlphaIds", false, "force alphabetic histograms/ntuple IDs"};
46  Gaudi::Property<bool> m_outputEnabled{this, "OutputEnabled", true, "Flag to enable/disable the output to file."};
47 
49  bool m_prtWar = false;
50  };
51 
52 } // namespace RootHistCnv
53 
54 #endif // ROOTHISTCNV_PERSSVC_H
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:35
StatusCode finalize() override
Finalise the service.
Definition: PersSvc.cpp:69
Implementation of property with value of concrete type.
Definition: Property.h:370
Gaudi::Property< bool > m_alphaIds
Definition: PersSvc.h:45
PersSvc(const std::string &name, ISvcLocator *svc)
Standard constructor.
Definition: PersSvc.h:40
StatusCode createRep(DataObject *pObject, IOpaqueAddress *&refpAddress) override
Convert a collection of transient data objects into another representation.
Definition: PersSvc.cpp:84
STL class.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:284
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:61
Gaudi::Property< bool > m_outputEnabled
Definition: PersSvc.h:46
const long ROOT_StorageType
Definition: ClassID.h:62
bool m_prtWar
Already printed a Warning.
Definition: PersSvc.h:49
Persistency service - to store histograms in ROOT format.
Definition: PersSvc.h:28
Opaque address interface definition.
Base class for all conversion services.
Definition: ConversionSvc.h:55
std::unique_ptr< TFile > m_hfile
Pointer to the ROOT file.
Definition: PersSvc.h:48
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:40
StatusCode initialize() override
Initialise the service.
Definition: PersSvc.cpp:42
Gaudi::Property< std::string > m_defFileName
Definition: PersSvc.h:44