Adding the possibility to specify SEs for mirroring when putting an object on AliEn
[u/mrichter/AliRoot.git] / STEER / CDB / AliShuttleInterface.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 /* $Id$ */
17
18 //
19 // abstract interface class to AliShuttle
20 // This class is implemented by AliTestShuttle for testing and
21 // by AliShuttle for the full setup
22 //
23
24 #include "AliShuttleInterface.h"
25 #include "AliLog.h"
26 #include <TClass.h>
27 #include <TSystem.h>
28
29 ClassImp(AliShuttleInterface)
30
31         const char* AliShuttleInterface::fkSystemNames[4] = { "DAQ", "DCS", "HLT", "DQM" };
32
33 // names of the detectors preprocessors
34 const char* AliShuttleInterface::fgkDetName[kNDetectors] = {"SPD", "SDD", "SSD", "TPC", "TRD", "TOF",
35        "PHS", "CPV", "HMP", "EMC", "MCH", "MTR", "FMD", "ZDC", "PMD", "T00", "V00", "GRP", "HLT", "ACO", "TRI"
36 };
37
38 // names of the detectors in OCDB
39 const char* AliShuttleInterface::fgkOfflineDetName[kNDetectors] = {"ITS", "ITS", "ITS", "TPC", "TRD", "TOF",
40        "PHOS", "PHOS", "HMPID", "EMCAL", "MUON", "MUON", "FMD", "ZDC", "PMD", "T0", "VZERO", "GRP", "HLT", "ACORDE", "TRIGGER"
41 };
42
43 TString AliShuttleInterface::fgkMainCDB("alien://folder=ShuttleCDB");
44 TString AliShuttleInterface::fgkLocalCDB("local://LocalShuttleCDB");
45 TString AliShuttleInterface::fgkMainRefStorage("alien://folder=ShuttleReference");
46 TString AliShuttleInterface::fgkLocalRefStorage("local://LocalReferenceStorage");
47
48 TString AliShuttleInterface::fgkShuttleTempDir("/tmp");
49 TString AliShuttleInterface::fgkShuttleLogDir("/tmp/log");
50
51 //______________________________________________________________________________________________
52 const char* AliShuttleInterface::GetOfflineDetName(const char* detName){
53 // Return "offline" detector name
54
55         Int_t detPos = GetDetPos(detName);
56         if(detPos < 0) {
57                 AliErrorClass(Form("Unknown detector: %s",detName));
58                 return 0;
59         }
60
61         return fgkOfflineDetName[detPos];
62 }
63
64 //______________________________________________________________________________________________
65 const char* AliShuttleInterface::GetDetName(UInt_t detPos){
66 // Return detector code
67
68         if(detPos >= kNDetectors) {
69                 AliErrorClass(Form("Parameter out of bound: %d", detPos));
70                 return 0;
71         }
72
73         return fgkDetName[detPos];
74 }
75
76 //______________________________________________________________________________________________
77 Int_t AliShuttleInterface::GetDetPos(const char* detName){
78 // Return detector position in the detector code array
79
80         for(UInt_t iDet=0; iDet < kNDetectors; iDet++){
81                 if(!strcmp(fgkDetName[iDet], detName)) return iDet;
82         }
83         return -1;
84 }