1 /***************************************************************************
5 * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu
6 ***************************************************************************
8 * Description: part of STAR HBT Framework: AliFemtoMaker package
9 * The Manager is the top-level object that coordinates activities
10 * and performs event, particle, and pair loops, and checks the
11 * various Cuts of the Analyses in its AnalysisCollection
13 ***************************************************************************
16 * Revision 1.1.1.1 2007/03/07 10:14:49 mchojnacki
17 * First version on CVS
19 * Revision 1.10 2000/03/17 17:23:05 laue
20 * Roberts new three particle correlations implemented.
22 * Revision 1.9 2000/02/18 21:32:24 laue
23 * franksTrackCut changed. If mCharge is set to '0' there will be no cut
24 * on charge. This is important for front-loaded cuts.
26 * copy constructor implemented for AliFemtoEvent, AliFemtoTrack and AliFemtoV0.
28 * franks1HistoD.cxx franks1HistoD.h franks2HistoD.cxx franks2HistoD.h
29 * removed. We can now (CC5 on Solaris) use the versions (no D)
31 * Revision 1.8 2000/01/25 17:35:17 laue
32 * I. In order to run the stand alone version of the AliFemtoMaker the following
33 * changes have been done:
34 * a) all ClassDefs and ClassImps have been put into #ifdef __ROOT__ statements
35 * b) unnecessary includes of StMaker.h have been removed
36 * c) the subdirectory AliFemtoMaker/doc/Make has been created including everything
37 * needed for the stand alone version
39 * II. To reduce the amount of compiler warning
40 * a) some variables have been type casted
41 * b) some destructors have been declared as virtual
43 * Revision 1.7 1999/10/04 15:38:58 lisa
44 * include Franks new accessor methods AliFemtoAnalysis::CorrFctn and AliFemtoManager::Analysis as well as McEvent example macro
46 * Revision 1.6 1999/09/24 01:23:12 fisyak
47 * Reduced Include Path
49 * Revision 1.5 1999/09/08 04:15:52 lisa
50 * persistent microDST implementation tweaked to please fickle solaris details
52 * Revision 1.4 1999/09/05 02:58:12 lisa
53 * add ASCII microDST reader/writer AND franksParticle cuts
55 * Revision 1.3 1999/09/04 04:41:02 lisa
56 * AliFemtoEvent IO --and-- AliFemtoEventWriter (microDST) method added to framework
58 * Revision 1.2 1999/07/06 22:33:22 lisa
59 * Adjusted all to work in pro and new - dev itself is broken
61 * Revision 1.1.1.1 1999/06/29 16:02:57 lisa
62 * Installation of AliFemtoMaker
64 **************************************************************************/
66 #ifndef AliFemtoManager_hh
67 #define AliFemtoManager_hh
70 #include "Infrastructure/AliFemtoTypes.h"
71 #include "Infrastructure/AliFemtoAnalysisCollection.h"
72 #include "Infrastructure/AliFemtoEventWriterCollection.h"
73 #include "Infrastructure/AliFemtoEvent.h"
74 #include "Base/AliFemtoBaseAnalysis.h"
75 #include "Base/AliFemtoEventReader.h"
76 #include "Base/AliFemtoEventWriter.h"
78 class AliFemtoManager{
81 AliFemtoAnalysisCollection* fAnalysisCollection;
82 AliFemtoEventReader* fEventReader;
83 AliFemtoEventWriterCollection* fEventWriterCollection;
87 virtual ~AliFemtoManager();
90 AliFemtoAnalysisCollection* AnalysisCollection();
91 AliFemtoBaseAnalysis* Analysis(int n); // Access to Analysis within Collection
92 void AddAnalysis(AliFemtoBaseAnalysis*);
94 AliFemtoEventWriterCollection* EventWriterCollection();
95 AliFemtoEventWriter* EventWriter(int n);// Access to EventWriter within Collection
96 void SetEventWriter(AliFemtoEventWriter*); // just for historic reasons
97 void AddEventWriter(AliFemtoEventWriter*);
99 AliFemtoEventReader* EventReader();
100 void SetEventReader(AliFemtoEventReader*);
104 int ProcessEvent(); // a "0" return value means success - otherwise quit
107 AliFemtoString Report(); //!
109 ClassDef(AliFemtoManager, 0)
113 inline AliFemtoAnalysisCollection* AliFemtoManager::AnalysisCollection(){return fAnalysisCollection;}
114 inline void AliFemtoManager::AddAnalysis(AliFemtoBaseAnalysis* anal){fAnalysisCollection->push_back(anal);}
116 inline AliFemtoEventWriterCollection* AliFemtoManager::EventWriterCollection(){return fEventWriterCollection;}
117 inline void AliFemtoManager::AddEventWriter(AliFemtoEventWriter* writer){fEventWriterCollection->push_back(writer);}
118 inline void AliFemtoManager::SetEventWriter(AliFemtoEventWriter* writer){fEventWriterCollection->push_back(writer);}
120 inline AliFemtoEventReader* AliFemtoManager::EventReader(){return fEventReader;}
121 inline void AliFemtoManager::SetEventReader(AliFemtoEventReader* reader){fEventReader = reader;}