1 ///////////////////////////////////////////////////////////////////////////
3 // AliFemtoManager: main class managing femtoscopic analysis //
4 // The Manager is the top-level object that coordinates activities //
5 // and performs event, particle, and pair loops, and checks the //
6 // various Cuts of the Analyses in its AnalysisCollection //
8 ///////////////////////////////////////////////////////////////////////////
10 #ifndef ALIFEMTOMANAGER_H
11 #define ALIFEMTOMANAGER_H
14 #include "AliFemtoTypes.h"
15 #include "AliFemtoAnalysisCollection.h"
16 #include "AliFemtoEventWriterCollection.h"
17 #include "AliFemtoEvent.h"
18 #include "AliFemtoAnalysis.h"
19 #include "AliFemtoEventReader.h"
20 #include "AliFemtoEventWriter.h"
22 class AliFemtoManager{
25 AliFemtoAnalysisCollection* fAnalysisCollection; // Collection of analyzes
26 AliFemtoEventReader* fEventReader; // Event reader
27 AliFemtoEventWriterCollection* fEventWriterCollection; // Event writer collection
31 AliFemtoManager(const AliFemtoManager& aManager);
32 virtual ~AliFemtoManager();
34 AliFemtoManager& operator=(const AliFemtoManager& aManager);
37 AliFemtoAnalysisCollection* AnalysisCollection();
38 AliFemtoAnalysis* Analysis(int n); // Access to Analysis within Collection
39 void AddAnalysis(AliFemtoAnalysis* a);
41 AliFemtoEventWriterCollection* EventWriterCollection();
42 AliFemtoEventWriter* EventWriter(int n);// Access to EventWriter within Collection
43 void SetEventWriter(AliFemtoEventWriter* w); // just for historic reasons
44 void AddEventWriter(AliFemtoEventWriter* w);
46 AliFemtoEventReader* EventReader();
47 void SetEventReader(AliFemtoEventReader* r);
50 int ProcessEvent(); // a "0" return value means success - otherwise quit
53 AliFemtoString Report(); //!
55 ClassDef(AliFemtoManager, 0)
59 inline AliFemtoAnalysisCollection* AliFemtoManager::AnalysisCollection(){return fAnalysisCollection;}
60 inline void AliFemtoManager::AddAnalysis(AliFemtoAnalysis* anal){fAnalysisCollection->push_back(anal);}
62 inline AliFemtoEventWriterCollection* AliFemtoManager::EventWriterCollection(){return fEventWriterCollection;}
63 inline void AliFemtoManager::AddEventWriter(AliFemtoEventWriter* writer){fEventWriterCollection->push_back(writer);}
64 inline void AliFemtoManager::SetEventWriter(AliFemtoEventWriter* writer){fEventWriterCollection->push_back(writer);}
66 inline AliFemtoEventReader* AliFemtoManager::EventReader(){return fEventReader;}
67 inline void AliFemtoManager::SetEventReader(AliFemtoEventReader* reader){fEventReader = reader;}