X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliPreprocessor.cxx;h=0e60d2c0acfd5a472922fb988ca9e2d14add27bb;hb=020c3cc4b8a217179fc018bb04d49e809a784e7b;hp=b3ae32c9fa08c378085fbb5e41b8bd428e8bda05;hpb=a5fa6165b25383aadfa3a33e3fc33113134b814d;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliPreprocessor.cxx b/STEER/AliPreprocessor.cxx index b3ae32c9fa0..0e60d2c0acf 100644 --- a/STEER/AliPreprocessor.cxx +++ b/STEER/AliPreprocessor.cxx @@ -15,6 +15,16 @@ /* $Log$ +Revision 1.17 2007/08/28 16:03:30 acolla +Restored to v1.14: + + +Function Bool_t GetHLTStatus() added to preprocessor interface. It will return +the status of HLT read from the run logbook. + +Revision 1.16 2007/08/22 09:20:50 hristov +Updated QA classes (Yves) + Revision 1.14 2007/05/30 06:35:21 jgrosseo Adding functionality to the Shuttle/TestShuttle: o) Function to retrieve list of sources from a given system (GetFileSources with id=0) @@ -120,8 +130,8 @@ some docs added #include "AliPreprocessor.h" #include -#include #include +#include #include "AliLog.h" #include "AliCDBMetaData.h" @@ -139,7 +149,8 @@ AliPreprocessor::AliPreprocessor(const char* detector, AliShuttleInterface* shut fRun(-1), fStartTime(0), fEndTime(0), - fShuttle(shuttle) + fShuttle(shuttle), + fRunTypes() { SetTitle(Form("AliPreprocessor for %s subdetector.", detector)); @@ -150,6 +161,8 @@ AliPreprocessor::AliPreprocessor(const char* detector, AliShuttleInterface* shut } fShuttle->RegisterPreprocessor(this); + + fRunTypes.SetOwner(kTRUE); } //______________________________________________________________________________________________ @@ -238,6 +251,23 @@ Bool_t AliPreprocessor::StoreReferenceFile(const char* localFile, const char* gr if(!offlineDetName) return 0; return fShuttle->StoreReferenceFile(GetName(), localFile, gridFileName); } + +//______________________________________________________________________________________________ +Bool_t AliPreprocessor::StoreRunMetadataFile(const char* localFile, const char* gridFileName) +{ + // + // Stores Run metadata file to the Grid, in the run folder + // + // Only GRP can call this function. + + TString detName(GetName()); + if (detName != "GRP") + { + Log("StoreRunMetadataFile - Only GRP can call this function."); + return kFALSE; + } + return fShuttle->StoreRunMetadataFile(localFile, gridFileName); +} //______________________________________________________________________________________________ const char* AliPreprocessor::GetFile(Int_t system, const char* id, const char* source) @@ -315,3 +345,117 @@ const char* AliPreprocessor::GetRunType() return fShuttle->GetRunType(); } + +//______________________________________________________________________________________________ +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(); +} +