1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
18 Revision 1.2 2006/03/07 07:52:34 hristov
19 New version (B.Yordanov)
21 Revision 1.3 2005/11/17 17:47:34 byordano
22 TList changed to TObjArray
24 Revision 1.2 2005/11/17 14:43:22 byordano
27 Revision 1.1.1.1 2005/10/28 07:33:58 hristov
28 Initial import as subdirectory in AliRoot
30 Revision 1.1.1.1 2005/09/12 22:11:40 byordano
33 Revision 1.2 2005/08/29 21:15:47 byordano
39 // This class is the CDBPreProcessor interface,
40 // supposed to be implemented by any detector
41 // interested in immediate processing of data
42 // which is retrieved from DCS.
43 // For every particular run set of aliases and
44 // their corespoding value sets are returned.
46 // 1) virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime)
47 // This method is called at the begining of data retrieval.
49 // startTime: when the run started
50 // endTime: when the run finished
52 // 2) virtual void Process()
54 // This method is called and passed a list of retrieved values from DCS
59 #include "AliPreprocessor.h"
66 #include "AliCDBMetaData.h"
67 #include "AliCDBStorage.h"
69 #include "AliCDBPath.h"
70 #include "AliShuttleInterface.h"
72 ClassImp(AliPreprocessor)
74 AliPreprocessor::AliPreprocessor(const char* detector, AliShuttleInterface* shuttle) :
78 SetTitle(Form("AliPreprocessor for %s subdetector.", detector));
81 AliFatal("Initialized without Shuttle instance.");
84 AliPreprocessor::~AliPreprocessor()
88 void AliPreprocessor::Initialize(Int_t run, UInt_t startTime, UInt_t endTime)
90 // Sets the information of the run which is currently processed
91 // can be overriden for special behaviour, make sure that you call base class
95 fStartTime = startTime;
99 Int_t AliPreprocessor::Store(TObject* object, AliCDBMetaData* metaData)
101 // Stores the CDB object
102 // This function should be called at the end of the preprocessor cycle
104 // The call is delegated to AliShuttleInterface
106 return fShuttle->Store(GetName(), object, metaData);
109 const char* AliPreprocessor::GetFile(Int_t system, const char* id, const char* source)
111 // This function retrieves a file from the given system (kDAQ, kDCS, kHLT) with the given file id
112 // and from the given source in the system.
113 // The function returnes the path to the local file.
115 // The call is delegated to AliShuttleInterface
117 return fShuttle->GetFile(system, GetName(), id, source);
120 TList* AliPreprocessor::GetFileSources(Int_t system, const char* id)
122 // Returns a list of sources in a given system that saved a file with the given id
124 // The call is delegated to AliShuttleInterface
126 return fShuttle->GetFileSources(system, GetName(), id);
129 void AliPreprocessor::Log(const char* message)
131 // Adds a log message to the Shuttle log of this preprocessor
133 // The call is delegated to AliShuttleInterface
135 fShuttle->Log(GetName(), message);