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