]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG2/FEMTOSCOPY/AliFemto/AliFemtoManager.h
Making the directory structure of AliFemto flat. All files go into one common directory
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / AliFemtoManager.h
diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoManager.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoManager.h
new file mode 100644 (file)
index 0000000..27ded4b
--- /dev/null
@@ -0,0 +1,72 @@
+///////////////////////////////////////////////////////////////////////////
+//                                                                       //
+// AliFemtoManager: main class managing femtoscopic analysis             //
+// The Manager is the top-level object that coordinates activities       //
+// and performs event, particle, and pair loops, and checks the          //
+// various Cuts of the Analyses in its AnalysisCollection                //
+//                                                                       //
+///////////////////////////////////////////////////////////////////////////
+
+#ifndef ALIFEMTOMANAGER_H
+#define ALIFEMTOMANAGER_H
+
+
+#include "AliFemtoTypes.h"
+#include "AliFemtoAnalysisCollection.h"
+#include "AliFemtoEventWriterCollection.h"
+#include "AliFemtoEvent.h"
+#include "AliFemtoBaseAnalysis.h"
+#include "AliFemtoEventReader.h"
+#include "AliFemtoEventWriter.h"
+
+class AliFemtoManager{
+
+private:
+  AliFemtoAnalysisCollection* fAnalysisCollection;       // Collection of analyzes
+  AliFemtoEventReader*        fEventReader;              // Event reader
+  AliFemtoEventWriterCollection* fEventWriterCollection; // Event writer collection
+
+public:
+  AliFemtoManager();
+  AliFemtoManager(const AliFemtoManager& aManager);
+  virtual ~AliFemtoManager();
+
+  AliFemtoManager& operator=(const AliFemtoManager& aManager);
+
+  // Gets and Sets...
+  AliFemtoAnalysisCollection* AnalysisCollection();
+  AliFemtoBaseAnalysis* Analysis(int n);  // Access to Analysis within Collection
+  void AddAnalysis(AliFemtoBaseAnalysis* a);
+
+  AliFemtoEventWriterCollection* EventWriterCollection();
+  AliFemtoEventWriter* EventWriter(int n);// Access to EventWriter within Collection
+  void SetEventWriter(AliFemtoEventWriter* w);  // just for historic reasons
+  void AddEventWriter(AliFemtoEventWriter* w);
+
+  AliFemtoEventReader* EventReader();
+  void SetEventReader(AliFemtoEventReader* r);
+
+
+  int Init();
+  int ProcessEvent();   // a "0" return value means success - otherwise quit
+  void Finish();
+
+  AliFemtoString Report(); //!
+#ifdef __ROOT__
+  ClassDef(AliFemtoManager, 0)
+#endif
+};
+
+inline AliFemtoAnalysisCollection* AliFemtoManager::AnalysisCollection(){return fAnalysisCollection;}
+inline void AliFemtoManager::AddAnalysis(AliFemtoBaseAnalysis* anal){fAnalysisCollection->push_back(anal);}
+
+inline AliFemtoEventWriterCollection* AliFemtoManager::EventWriterCollection(){return fEventWriterCollection;}
+inline void AliFemtoManager::AddEventWriter(AliFemtoEventWriter* writer){fEventWriterCollection->push_back(writer);}
+inline void AliFemtoManager::SetEventWriter(AliFemtoEventWriter* writer){fEventWriterCollection->push_back(writer);}
+
+inline AliFemtoEventReader* AliFemtoManager::EventReader(){return fEventReader;}
+inline void AliFemtoManager::SetEventReader(AliFemtoEventReader* reader){fEventReader = reader;}
+
+
+#endif
+