File indexing completed on 2026-09-27 09:20:25
0001
0002
0003
0004
0005
0006
0007
0008 #ifndef EVENT_WRITING_ALGORITHM_H
0009 #define EVENT_WRITING_ALGORITHM_H 1
0010
0011 #include "Pandora/Algorithm.h"
0012
0013 #include "Persistency/PandoraIO.h"
0014
0015 namespace pandora {class FileWriter;}
0016
0017
0018
0019
0020
0021
0022 class EventWritingAlgorithm : public pandora::Algorithm
0023 {
0024 public:
0025
0026
0027
0028 class Factory : public pandora::AlgorithmFactory
0029 {
0030 public:
0031 pandora::Algorithm *CreateAlgorithm() const;
0032 };
0033
0034
0035
0036
0037 EventWritingAlgorithm();
0038
0039
0040
0041
0042 ~EventWritingAlgorithm();
0043
0044 protected:
0045 pandora::StatusCode Initialize();
0046 pandora::StatusCode Run();
0047 pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
0048
0049 pandora::FileType m_geometryFileType;
0050 pandora::FileType m_eventFileType;
0051
0052 bool m_shouldWriteGeometry;
0053 std::string m_geometryFileName;
0054
0055 bool m_shouldWriteEvents;
0056 std::string m_eventFileName;
0057
0058 bool m_shouldWriteMCRelationships;
0059 bool m_shouldWriteTrackRelationships;
0060
0061 bool m_shouldOverwriteEventFile;
0062 bool m_shouldOverwriteGeometryFile;
0063
0064 pandora::FileWriter *m_pEventFileWriter;
0065 };
0066
0067
0068
0069 inline pandora::Algorithm *EventWritingAlgorithm::Factory::CreateAlgorithm() const
0070 {
0071 return new EventWritingAlgorithm();
0072 }
0073
0074 #endif