--- /dev/null
+///////////////////////////////////////////////////////////////////////////
+// //
+// 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
+