]> git.uio.no Git - u/mrichter/AliRoot.git/blame - 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
CommitLineData
d0e92d9a 1///////////////////////////////////////////////////////////////////////////
2// //
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 //
7// //
8///////////////////////////////////////////////////////////////////////////
9
10#ifndef ALIFEMTOMANAGER_H
11#define ALIFEMTOMANAGER_H
12
13
14#include "AliFemtoTypes.h"
15#include "AliFemtoAnalysisCollection.h"
16#include "AliFemtoEventWriterCollection.h"
17#include "AliFemtoEvent.h"
18#include "AliFemtoBaseAnalysis.h"
19#include "AliFemtoEventReader.h"
20#include "AliFemtoEventWriter.h"
21
22class AliFemtoManager{
23
24private:
25 AliFemtoAnalysisCollection* fAnalysisCollection; // Collection of analyzes
26 AliFemtoEventReader* fEventReader; // Event reader
27 AliFemtoEventWriterCollection* fEventWriterCollection; // Event writer collection
28
29public:
30 AliFemtoManager();
31 AliFemtoManager(const AliFemtoManager& aManager);
32 virtual ~AliFemtoManager();
33
34 AliFemtoManager& operator=(const AliFemtoManager& aManager);
35
36 // Gets and Sets...
37 AliFemtoAnalysisCollection* AnalysisCollection();
38 AliFemtoBaseAnalysis* Analysis(int n); // Access to Analysis within Collection
39 void AddAnalysis(AliFemtoBaseAnalysis* a);
40
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);
45
46 AliFemtoEventReader* EventReader();
47 void SetEventReader(AliFemtoEventReader* r);
48
49
50 int Init();
51 int ProcessEvent(); // a "0" return value means success - otherwise quit
52 void Finish();
53
54 AliFemtoString Report(); //!
55#ifdef __ROOT__
56 ClassDef(AliFemtoManager, 0)
57#endif
58};
59
60inline AliFemtoAnalysisCollection* AliFemtoManager::AnalysisCollection(){return fAnalysisCollection;}
61inline void AliFemtoManager::AddAnalysis(AliFemtoBaseAnalysis* anal){fAnalysisCollection->push_back(anal);}
62
63inline AliFemtoEventWriterCollection* AliFemtoManager::EventWriterCollection(){return fEventWriterCollection;}
64inline void AliFemtoManager::AddEventWriter(AliFemtoEventWriter* writer){fEventWriterCollection->push_back(writer);}
65inline void AliFemtoManager::SetEventWriter(AliFemtoEventWriter* writer){fEventWriterCollection->push_back(writer);}
66
67inline AliFemtoEventReader* AliFemtoManager::EventReader(){return fEventReader;}
68inline void AliFemtoManager::SetEventReader(AliFemtoEventReader* reader){fEventReader = reader;}
69
70
71#endif
72