+
+//______________________________________________________________________________________________
+Bool_t AliPreprocessor::GetHLTStatus()
+{
+ // Return HLT status (ON or OFF)
+ // Converts the HLT status from the status string read in the run logbook (not just a bool)
+ // The call is delegated to AliShuttleInterface
+
+ return fShuttle->GetHLTStatus();
+
+}
+
+//______________________________________________________________________________________________
+const char* AliPreprocessor::GetTriggerConfiguration()
+{
+ // Returns the trigger configuration which is read from a table in the DAQ logbook
+ // The call is delegated to AliShuttleInterface
+ // Only GRP can call this function.
+
+ TString detName(GetName());
+ if (detName != "GRP")
+ {
+ Log("GetTriggerConfiguration - Only GRP can call this function.");
+ return 0;
+ }
+
+ return fShuttle->GetTriggerConfiguration();
+}
+//______________________________________________________________________________________________
+const char* AliPreprocessor::GetCTPTimeParams()
+{
+ // Returns the CTP timing parameters read from a table in the DAQ logbook
+ // The call is delegated to AliShuttleInterface
+ // Only GRP can call this function.
+
+ TString detName(GetName());
+ if (detName != "GRP")
+ {
+ Log("GetCTPTimeParams - Only GRP can call this function.");
+ return 0;
+ }
+
+ return fShuttle->GetCTPTimeParams();
+}
+//______________________________________________________________________________________________
+const char* AliPreprocessor::GetTriggerDetectorMask()
+{
+ // Returns the trigger detector mask which is read from a table in the DAQ logbook
+ // The call is delegated to AliShuttleInterface
+ // Only TRI can call this function.
+
+ TString detName(GetName());
+ if (detName != "TRI")
+ {
+ Log("GetTriggerDetectorMask - Only TRI can call this function.");
+ return 0;
+ }
+
+ return fShuttle->GetTriggerDetectorMask();
+}
+
+//______________________________________________________________________________________________
+void AliPreprocessor::AddRunType(const char* runType)
+{
+ // adds the given run type to the list of run types that are processed
+ // this function should be called in the constructor of the derived preprocessor
+
+ if (!runType)
+ return;
+
+ fRunTypes.Add(new TObjString(runType));
+}
+
+//______________________________________________________________________________________________
+Bool_t AliPreprocessor::AliPreprocessor::ProcessRunType()
+{
+ // searches for the current run type in the list of run types that are processed by this
+ // preprocessor. The list is populated by AddRunType
+
+ const char* runType = GetRunType();
+
+ Log(Form("Checking if run type %s is in the list of run types to be processed by this preprocessor...", runType));
+
+ if (fRunTypes.GetEntries() == 0)
+ Log("WARNING! There are no run types defined. This preprocessor will never run.");
+
+ if (fRunTypes.FindObject(runType))
+ {
+ Log("Run type found. Processing this run.");
+ return kTRUE;
+ }
+
+ Log("Run type not found. Skipping this run.");
+ return kFALSE;
+}
+//______________________________________________________________________________________________
+UInt_t AliPreprocessor::GetStartTimeDCSQuery()
+{
+ // Return Start Time for the DCS query
+ //
+ // The call is delegated to AliShuttleInterface
+
+ return fShuttle->GetStartTimeDCSQuery();
+}
+//______________________________________________________________________________________________
+UInt_t AliPreprocessor::GetEndTimeDCSQuery()
+{
+ // Return End Time for the DCS query
+ //
+ // The call is delegated to AliShuttleInterface
+
+ return fShuttle->GetEndTimeDCSQuery();
+}
+
+//______________________________________________________________________________________________
+const char* AliPreprocessor::GetForeignFile(const char* detector, Int_t system, const char* id, const char* source)
+{
+ // This function retrieves a file produced from the given detector (different from the
+ // current one) from the given system (kDAQ, kDCS, kHLT)
+ // with the given file id
+ // and from the given source in the system.
+ // The function returnes the path to the local file.
+ //
+ // The call is delegated to AliShuttleInterface
+ // The function can be called only from the GRP preprocessor
+
+ TString detName(GetName());
+ if (detName != "GRP")
+ {
+ Log("GetForeignFile - Only GRP can call this function.");
+ return 0;
+ }
+ return fShuttle->GetFile(system, detector, id, source);
+}
+
+//______________________________________________________________________________________________
+TList* AliPreprocessor::GetForeignFileSources(const char* detector, Int_t system, const char* id)
+{
+ // Returns the list of sources in a given system that produced the file
+ // with the given id for the foreign detector specified
+ //
+ // The call is delegated to AliShuttleInterface
+ // The function can be called only from the GRP preprocessor
+
+ TString detName(GetName());
+ if (detName != "GRP")
+ {
+ Log("GetForeignFileSources - Only GRP can call this function.");
+ return 0;
+ }
+ return fShuttle->GetFileSources(system, detector, id);
+}
+