HerdSoftware  0.1.1
DataReader.h
Go to the documentation of this file.
1 /*
2  * DataReader.h
3  *
4  * Created on: 07 Jan 2021
5  * Author: Valerio Formato
6  */
7 
10 #ifndef HERD_DATAREADER_H_
11 #define HERD_DATAREADER_H_
12 
13 // EA headers
14 #include "core/ObjectWrapper.h"
15 #include "core/RetrievalResult.h"
16 #include "data/ObjectCategory.h"
17 #include "utils/Memory.h"
18 
19 // c++ headers
20 #include <string>
21 
22 using namespace EA;
23 
24 namespace Herd {
25 
26 // clang-format off
36 // clang-format on
37 
38 class DataReader {
39 public:
45  virtual bool SetCurrentEvent(unsigned int event) = 0;
46 
54  virtual bool IsObjectAvailable(const std::string &name) = 0;
55 
63  virtual bool IsObjectKnown(const std::string &name) = 0;
64 
75  virtual RetrievalResult GetObject(const std::string &name, ObjectCategory category, ObjectWrapper &wrapper,
76  std::string &actualName) = 0;
77 
87  virtual std::vector<std::string> FreeObjects(const std::vector<std::string> &objs, Memory::Status memStatus) = 0;
88 };
89 } // namespace Herd
90 
91 #endif
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:24
Base class for DataReaders.
Definition: DataReader.h:38