//_____________________________________________________________________________
Bool_t
AliMUONTriggerIO::ReadConfig(const char* localFile,
- const char* regionalFile,
- const char* globalFile,
- AliMUONVStore* localMasks,
- AliMUONRegionalTriggerConfig* regionalConfig,
- AliMUONGlobalCrateConfig* globalConfig)
+ const char* regionalFile,
+ const char* globalFile,
+ AliMUONVStore* localMasks,
+ AliMUONRegionalTriggerConfig* regionalConfig,
+ AliMUONGlobalCrateConfig* globalConfig)
{
/// Fill the various masks store from files
- if ( !regionalFile )
+ if ( !regionalFile || strlen(regionalFile)==0 )
{
AliError("Must have a regional file name to proceeed");
return kFALSE;
return kFALSE;
}
- if (localMasks && localFile)
+ if (localMasks && localFile && strlen(localFile) > 0 )
{
Int_t nLocal = ReadLocalMasks(localFile,*localMasks);
AliDebug(1,Form("Read masks for %d local boards",nLocal));
/// write config files
Bool_t ok;
- ok = WriteLocalMasks(localFile, *localMasks, regionalConfig);
+ ok = WriteLocalMasks(localFile, *localMasks);
ok &= WriteRegionalConfig(regionalFile, regionalConfig);
ok &= WriteGlobalConfig(globalFile, globalConfig);
//_____________________________________________________________________________
Bool_t
-AliMUONTriggerIO::WriteLocalMasks(const char* localFile, AliMUONVStore& localMasks, AliMUONRegionalTriggerConfig* regionalConfig) const
+AliMUONTriggerIO::WriteLocalMasks(const char* localFile, AliMUONVStore& localMasks) const
{
/// write local mask
/// removing/adding enable for a local board need a update of the configuration
}
UShort_t maskBuffer[8];
+ Int_t localBoardIndex(0);
+ while (localBoardIndex < NofLocalBoards()) {
- TIter next(regionalConfig->CreateCrateIterator());
- AliMUONTriggerCrateConfig* crate;
-
- while ( ( crate = static_cast<AliMUONTriggerCrateConfig*>(next()) ) )
- {
- UShort_t mask = crate->GetMask(); // getting mask from current config
+ Int_t localBoardId = fRegionalTrigger.LocalBoardId(localBoardIndex);
- for (Int_t iLocal = 0; iLocal < crate->GetNofLocalBoards(); ++iLocal)
- {
- Int_t localBoardId = crate->GetLocalBoardId(iLocal);
+ AliMUONVCalibParam* localMask =
+ static_cast<AliMUONVCalibParam*>(localMasks.FindObject(localBoardId));
- if ( (mask >> iLocal ) & 0x1 )
+ for (Int_t index = 0; index < 8; ++index)
{
- AliMUONVCalibParam* localMask =
- static_cast<AliMUONVCalibParam*>(localMasks.FindObject(localBoardId));
-
- for (Int_t index = 0; index < 8; ++index)
- {
- maskBuffer[index] = localMask->ValueAsInt(index,0);
- }
-
- fwrite ( maskBuffer, 2, 8, fp);
+ maskBuffer[index] = localMask->ValueAsInt(index,0);
}
+
+ fwrite ( maskBuffer, 2, 8, fp);
+
+ ++localBoardIndex;
- }
}
fclose(fp);