]>
Commit | Line | Data |
---|---|---|
a82a31af | 1 | //-*- Mode: C++ -*- |
2 | ||
d810d0de | 3 | // $Id$ |
4 | // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 | |
5 | ||
6 | /************************************************************************** | |
7 | * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. * | |
8 | * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for * | |
51346b82 | 9 | * full copyright notice. * |
d810d0de | 10 | **************************************************************************/ |
a15e6d7d | 11 | |
a82a31af | 12 | #ifndef ALIEVEHOMERMANAGER_H |
13 | #define ALIEVEHOMERMANAGER_H | |
059c30e4 | 14 | |
15 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
16 | * See cxx source for full Copyright notice */ | |
17 | ||
d810d0de | 18 | /** @file AliEveHOMERManager.h |
33791895 | 19 | @author Jochen Thaeder, Svein Lindal |
51346b82 | 20 | @date |
33791895 | 21 | @brief Manager for HOMER in HLT . Inherits some functionalitye |
22 | from AliHLTHOMERManager, mainly from TEveEventManager | |
059c30e4 | 23 | */ |
33791895 | 24 | #include "AliHLTHOMERManager.h" |
25 | #include <TEveEventManager.h> | |
26 | #include <TGeoManager.h> | |
27 | ||
28 | class AliEveHOMERSourceList; | |
29 | class TString; | |
33791895 | 30 | class TTimer; |
33791895 | 31 | |
32 | class AliEveHOMERManager : public TEveElementList, public AliHLTHOMERManager { | |
33 | ||
059c30e4 | 34 | public: |
35 | ||
36 | /* | |
37 | * --------------------------------------------------------------------------------- | |
51346b82 | 38 | * Constructor / Destructor |
39 | * --------------------------------------------------------------------------------- | |
059c30e4 | 40 | */ |
41 | ||
46eadbb4 | 42 | /** constructor */ |
a82a31af | 43 | AliEveHOMERManager(); |
46eadbb4 | 44 | |
059c30e4 | 45 | /** destructor */ |
d810d0de | 46 | virtual ~AliEveHOMERManager(); |
059c30e4 | 47 | |
33791895 | 48 | /** Connect to avahi and get the list for sources */ |
a82a31af | 49 | Int_t CreateEveSourcesList(); |
9e78371d | 50 | |
33791895 | 51 | /** Keep on looking for sources until some are found */ |
9e78371d | 52 | Int_t CreateEveSourcesListLoop(); |
46eadbb4 | 53 | |
33791895 | 54 | /** Connect to the sources found */ |
703482d8 | 55 | Int_t ConnectEVEtoHOMER(TString detector="ALL"); |
51346b82 | 56 | |
33791895 | 57 | /** Delete current connections to sources and reconnect */ |
58 | Int_t ReConnectHOMER( TString detector="" ); | |
9e78371d | 59 | |
33791895 | 60 | /** Set the retry count for source list loop */ |
61 | void SetRetryCount(Int_t count, Int_t sleeptime) { fRetryCount = count; fRetrySleeptime = sleeptime; } | |
62 | ||
3da168a7 | 63 | /** Get next event from the readers */ |
30e7579c | 64 | TList * NextHOMEREvent(); |
33791895 | 65 | |
30e7579c | 66 | void StartEveSourceListLoop(); |
67 | void StopEveSourceListLoop(); | |
bf1911d5 | 68 | |
33791895 | 69 | |
059c30e4 | 70 | private: |
71 | ||
a82a31af | 72 | /** copy constructor prohibited */ |
73 | AliEveHOMERManager(const AliEveHOMERManager&); | |
059c30e4 | 74 | |
a82a31af | 75 | /** assignment operator prohibited */ |
76 | AliEveHOMERManager& operator=(const AliEveHOMERManager&); | |
059c30e4 | 77 | |
059c30e4 | 78 | // == sources == |
33791895 | 79 | AliEveHOMERSourceList* fSrcList; // List of Connected HOMER Sources |
80 | ||
30e7579c | 81 | |
33791895 | 82 | Int_t fRetryCount; //How many times to retry creating source list before giving up |
83 | Int_t fRetrySleeptime; //Sleep time between attempt at craeting source list | |
84 | ||
bf1911d5 | 85 | |
30e7579c | 86 | TTimer * fSourceListTimer; //Timer to attempt source list creation! |
87 | ||
a82a31af | 88 | ClassDef(AliEveHOMERManager, 0); // Manage connections to HLT data-sources. |
30e7579c | 89 | |
51346b82 | 90 | |
a82a31af | 91 | }; |
059c30e4 | 92 | #endif |