Belle II Software  release-05-02-19
RootFileCreationManager.h
1 /**************************************************************************
2 * BASF2 (Belle Analysis Framework 2) *
3 * Copyright(C) 2013-2018 Belle II Collaboration *
4 * *
5 * Author: The Belle II Collaboration *
6 * Contributors: Christian Pulvermacher *
7 * Simon Wehle *
8 * Martin Ritter *
9 * *
10 * This software is provided "as is" without any warranty. *
11 **************************************************************************/
12 
13 #pragma once
14 
15 #include <TFile.h>
16 #include <string>
17 #include <map>
18 #include <memory>
19 
20 namespace Belle2 {
39  class RootFileCreationManager {
40 
41  public:
42 
55  std::shared_ptr<TFile> getFile(std::string, bool ignoreErrors = false);
56 
57  private:
63  void operator=(RootFileCreationManager const&) = delete;
65  std::map<std::string, std::weak_ptr<TFile>> m_files;
66  };
68 }
Belle2::RootFileCreationManager::RootFileCreationManager
RootFileCreationManager()
Constructor is private.
Definition: RootFileCreationManager.h:69
Belle2::RootFileCreationManager::m_files
std::map< std::string, std::weak_ptr< TFile > > m_files
store for the open files
Definition: RootFileCreationManager.h:75
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::RootFileCreationManager::getInstance
static RootFileCreationManager & getInstance()
Interface for the FileManager.
Definition: RootFileCreationManager.cc:57
Belle2::RootFileCreationManager::operator=
void operator=(RootFileCreationManager const &)=delete
We do not need this interface.
Belle2::RootFileCreationManager::getFile
std::shared_ptr< TFile > getFile(std::string, bool ignoreErrors=false)
Get a file with a specific name, if is does not exist it will be created.
Definition: RootFileCreationManager.cc:36