SENSEI
A frame work for generic in situ analytics
Catalyst2AnalysisAdaptor.h
1 #ifndef Catalyst2AnalysisAdaptor_h
2 #define Catalyst2AnalysisAdaptor_h
3 
4 #include "AnalysisAdaptor.h"
5 #include "DataRequirements.h"
6 #include "MeshMetadata.h"
7 
8 #include <memory>
9 #include <vector>
10 #include <set>
11 
12 namespace sensei
13 {
14 
15 /// @brief Analysis adaptor for Catalyst2-based analysis pipelines.
16 ///
17 /// AnalysisAdaptor is a subclass of AnalysisAdaptor that is
18 /// that can be used as the superclass for all analysis that uses Catalyst 2.
20 {
21 public:
22  static Catalyst2AnalysisAdaptor* New();
23  senseiTypeMacro(Catalyst2AnalysisAdaptor, AnalysisAdaptor);
24  void PrintSelf(ostream& os, svtkIndent indent) override;
25 
26  /// Adds a pipeline initialized from a Catalyst python script
27  virtual void AddPythonScriptPipeline(const std::string &fileName);
28  /** Adds a set of sensei::DataRequirements, typically this will come from an XML
29  * configuratiopn file. Data requirements tell the adaptor what to fetch from
30  * the simulation and write to disk. If none are given then all available
31  * data is fetched and written.
32  */
33  int SetDataRequirements(const DataRequirements &reqs);
34 
35  bool Execute(DataAdaptor* data, DataAdaptor** dataOut = nullptr) override;
36 
37  int Finalize() override;
38 
39 protected:
41  ~Catalyst2AnalysisAdaptor() override;
42 
43  void Initialize();
44  /// meshes needed by the analysis. If empty, all meshes are needed.
46 
47 private:
48  Catalyst2AnalysisAdaptor(const Catalyst2AnalysisAdaptor&); // Not implemented.
49  void operator=(const Catalyst2AnalysisAdaptor&); // Not implemented.
50 };
51 
52 }
53 
54 #endif
int SetDataRequirements(const DataRequirements &reqs)
Adds a set of sensei::DataRequirements, typically this will come from an XML configuratiopn file...
bool Execute(DataAdaptor *data, DataAdaptor **dataOut=nullptr) override
Invokes in situ processing, data movement or I/O.
The base class for data consumers.
Definition: AnalysisAdaptor.h:24
Analysis adaptor for Catalyst2-based analysis pipelines.
Definition: Catalyst2AnalysisAdaptor.h:19
This is a helper class that handles the common task of specifying the set of meshes and arrays rqeuir...
Definition: DataRequirements.h:25
int Finalize() override
Clean up and shut down the data consuming library if needed.
SENSEI.
Definition: ADIOS2AnalysisAdaptor.h:27
virtual void AddPythonScriptPipeline(const std::string &fileName)
Adds a pipeline initialized from a Catalyst python script.
Base class that defines the interface for fetching data from a simulation.
Definition: DataAdaptor.h:25
DataRequirements Requirements
meshes needed by the analysis. If empty, all meshes are needed.
Definition: Catalyst2AnalysisAdaptor.h:45