mirror of
https://github.com/sesps/SPS_SABRE_EventBuilder.git
synced 2026-04-01 15:45:05 -04:00
51 lines
1.8 KiB
C++
51 lines
1.8 KiB
C++
#ifndef EVB_WORKSPACE_H
|
|
#define EVB_WORKSPACE_H
|
|
|
|
namespace EventBuilder {
|
|
|
|
class EVBWorkspace
|
|
{
|
|
public:
|
|
EVBWorkspace(const std::string& workspace);
|
|
~EVBWorkspace();
|
|
|
|
inline const bool IsValid() const { return m_isValid; }
|
|
|
|
inline std::string GetBinaryDir() const { return m_binaryDir; }
|
|
inline std::string GetTempDir() const { return m_tempDir; }
|
|
inline std::string GetSortedDir() const { return m_sortedDir; }
|
|
inline std::string GetBuiltDir() const { return m_builtDir; }
|
|
inline std::string GetAnalyzedDir() const { return m_analyzedDir; }
|
|
inline std::string GetHistogramDir() const { return m_histogramDir; }
|
|
inline std::string GetCutDir() const { return m_cutDir; }
|
|
inline std::string GetMergedDir() const { return m_mergedDir; }
|
|
|
|
std::vector<std::string> GetBinaryRunRange(int runMin, int runMax);
|
|
std::vector<std::string> GetAnalyzedRunRange(int runMin, int runMax);
|
|
|
|
bool UnpackBinaryRunToTemp(int run); //Currently Linux/MacOS only. Windows support to come.
|
|
std::vector<std::string> GetTempFiles();
|
|
bool ClearTempDirectory();
|
|
//Maybe offload to another class? Idk. Feel like EVBWorkspace shouldn't know about ROOT
|
|
bool MergeAnalyzedFiles(const std::string& outputname, int runMin, int runMax);
|
|
|
|
private:
|
|
void Init();
|
|
std::string GetBinaryRun(int run);
|
|
std::string GetAnalyzedRun(int run);
|
|
bool m_isValid;
|
|
|
|
std::string m_workspace;
|
|
|
|
std::string m_binaryDir;
|
|
std::string m_tempDir;
|
|
std::string m_sortedDir;
|
|
std::string m_builtDir;
|
|
std::string m_analyzedDir;
|
|
std::string m_histogramDir;
|
|
std::string m_cutDir;
|
|
std::string m_mergedDir;
|
|
};
|
|
}
|
|
|
|
#endif |