]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/EveHLT/AliEveHOMERSrcTranslator.h
Update for checking the sign before invariant mass calculation (A. Maire)
[u/mrichter/AliRoot.git] / EVE / EveHLT / AliEveHOMERSrcTranslator.h
CommitLineData
7279ee15 1//-*- Mode: C++ -*-
2// $Id$
3// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
4
5/**************************************************************************
6 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
7 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
8 * full copyright notice. *
9 **************************************************************************/
10
11#ifndef ALIEVEHOMERSRCTRANSLATOR_H
12#define ALIEVEHOMERSRCTRANSLATOR_H
13
14/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
15 * See cxx source for full Copyright notice */
16
17/** @file AliEveHOMERSrcTranslator.h
18 @author Jochen Thaeder
19 @date
20 @brief Src Translator of HomerManger
21*/
22
23#include "TString.h"
24#include "TDOMParser.h"
25#include "TXMLNode.h"
26#include "TList.h"
27
28#include "AliEveHOMERSourceList.h"
29#include "AliHLTHOMERSourceDesc.h"
30
31#include "TMap.h"
32
33class AliEveHOMERSrcTranslator : public TObject
34{
35public:
36
37 /*
38 * ---------------------------------------------------------------------------------
39 * Constructor / Destructor
40 * ---------------------------------------------------------------------------------
41 */
42
43 /** constructor */
44 AliEveHOMERSrcTranslator( TString realm );
45
46 /** destructor */
47 virtual ~AliEveHOMERSrcTranslator();
48
49 /*
50 * ---------------------------------------------------------------------------------
51 * Setter - public
52 * ---------------------------------------------------------------------------------
53 */
54
55 /** Sets realm ( which can be ACR, GPN, HLT, KIP ) */
56 void SetRealm( TString s ) { fRealm = s; } // Sets realm ( which can be ACR, GPN, HLT, KIP )
57
58 /*
59 * ---------------------------------------------------------------------------------
60 * Translation - public
61 * ---------------------------------------------------------------------------------
62 */
63
64 /** Resolve Information of nodename and port for source which has to be used by HOMER */
65 Int_t Translate( TString Nodename, TString xmlPort, TString &hostname, Int_t &port );
66
67 /** Apply corrections for differnt detectors and subdetectors */
68 void ApplyDetectorCorrections( TString &detector, TString &subDetector);
69
70 /** Fill SourceDesc with object Information */
71 Int_t FillSourceDesc( AliHLTHOMERSourceDesc* source, TString name );
72
73 ///////////////////////////////////////////////////////////////////////////////////
74
75private:
76
77 AliEveHOMERSrcTranslator(const AliEveHOMERSrcTranslator&); // Not implemented.
78 AliEveHOMERSrcTranslator& operator=(const AliEveHOMERSrcTranslator&); // Not implemented.
79
80 /*
81 * ---------------------------------------------------------------------------------
82 * Source Resolving - private
83 * ---------------------------------------------------------------------------------
84 */
85
86 /** Resolve hostname out of XML and realm */
87 TString ResolveHostname( TString nodename );
88
89 /** Resolve port out of XML and realm */
90 Int_t ResolvePort( TString srcPort, TString srcHostname );
91
92 /*
93 * ---------------------------------------------------------------------------------
94 * Setup - private
95 * ---------------------------------------------------------------------------------
96 */
97
98 /** Setup the BasePort mapping */
99 void SetupPortMap();
100
101 /** Setup the Object mapping */
102 void SetupObjectMap();
103
104 /** Setup the Object mapping for TPC */
105 void SetupObjectMapTPC();
106
107 /** Setup the Object mapping for TRD */
108 void SetupObjectMapTRD();
109
110 /** Setup the Object mapping for PHOS */
111 void SetupObjectMapPHOS();
112
113 /** Setup the Object mapping for DIMUON */
114 void SetupObjectMapDIMUON();
115
116 /** Setup the common Object mappings */
117 void SetupObjectMapCommon( TMap* objectMap );
118
119 /*
120 * ---------------------------------------------------------------------------------
121 * Members - private
122 * ---------------------------------------------------------------------------------
123 */
124
125 TMap* fBasePortMap; //! Map of BasePorts on the gateways
126
127 TMap* fObjectMap; //! Map of Objects and DataTypes
128
129 TString fRealm; // Indicates the realm where AliEve can connect to ( HLT, GPN, ACR, KIP );
130
131 /*
132 * ---------------------------------------------------------------------------------
133 * Constants - private
134 * ---------------------------------------------------------------------------------
135 */
136
137 static const Int_t kNodeBasePort = 49152; // BasePort of TCP ports on the nodes
138
139 ClassDef(AliEveHOMERSrcTranslator, 0); // Translate HLT data-sources.
140};
141
142#endif