#include "AliMUONRegionalTriggerConfig.h"
#include "AliMUONTriggerCrateConfig.h"
#include "AliMpConstants.h"
#include "AliMpHelper.h"
#include "AliMpExMapIterator.h"
#include "AliMpRegionalTrigger.h"
#include "AliLog.h"
#include <TArrayI.h>
#include <Riostream.h>
#include <TClass.h>
#include <TSystem.h>
#include <TList.h>
using std::cout;
using std::endl;
using std::ifstream;
using std::ios;
ClassImp(AliMUONRegionalTriggerConfig)
AliMUONRegionalTriggerConfig::AliMUONRegionalTriggerConfig()
: TObject(),
fTriggerCrates()
{
fTriggerCrates.SetOwner(true);
fTriggerCrates.SetSize(AliMpConstants::LocalBoardNofChannels());
}
AliMUONRegionalTriggerConfig::AliMUONRegionalTriggerConfig(const AliMUONRegionalTriggerConfig& rhs)
: TObject(rhs),
fTriggerCrates(rhs.fTriggerCrates)
{
}
AliMUONRegionalTriggerConfig& AliMUONRegionalTriggerConfig::operator=(const AliMUONRegionalTriggerConfig& rhs)
{
if (this == &rhs) return *this;
TObject::operator=(rhs);
fTriggerCrates = rhs.fTriggerCrates;
return *this;
}
AliMUONRegionalTriggerConfig::~AliMUONRegionalTriggerConfig()
{
}
Int_t AliMUONRegionalTriggerConfig::ReadData(const TString& fileName)
{
AliMpRegionalTrigger mpRegionalTrigger;
mpRegionalTrigger.SetTriggerCratesOwner(kFALSE);
if ( ! mpRegionalTrigger.ReadData(fileName) ) {
AliErrorStream()
<< "Reading mapping regional trigger from file " << fileName.Data() << " failed."
<< endl;
return 0;
}
TIterator* it = mpRegionalTrigger.CreateCrateIterator();
AliMpTriggerCrate* mpTriggerCrate;
while ( ( mpTriggerCrate = (AliMpTriggerCrate*)it->Next() ) ) {
fTriggerCrates.Add(
mpTriggerCrate->GetName(), new AliMUONTriggerCrateConfig(mpTriggerCrate));
}
delete it;
ifstream in(fileName.Data(), ios::in);
if ( ! in.good() ) {
AliErrorStream()
<< "Local Trigger Board Mapping File " << fileName.Data() << " not found" << endl;
return 0;
}
UShort_t mask;
Int_t mode, coincidence;
Int_t nofBoards;
char line[80];
while (!in.eof())
{
in.getline(line,80);
if (!strlen(line)) break;
TString crateName(AliMpHelper::Normalize(line));
in.getline(line,80);
in.getline(line,80);
sscanf(line,"%d",&mode);
in.getline(line,80);
sscanf(line,"%d",&coincidence);
in.getline(line,80);
sscanf(line,"%hx",&mask);
in.getline(line,80);
sscanf(line,"%d",&nofBoards);
AliMUONTriggerCrateConfig* crateConfig
= (AliMUONTriggerCrateConfig*)(fTriggerCrates.GetValue(crateName.Data()));
if ( ! crateConfig ) {
AliErrorStream()
<< "Cannot find AliMUONTriggerCrateConfig " << crateName.Data() << endl;
return 0;
}
crateConfig->SetMode(mode);
crateConfig->SetCoinc(coincidence);
crateConfig->SetMask(mask);
for ( Int_t i = 0; i < 3*nofBoards; ++i )
in.getline(line,80);
}
return fTriggerCrates.GetSize();
}
AliMUONTriggerCrateConfig* AliMUONRegionalTriggerConfig::FindTriggerCrate(TString name,
Bool_t warn) const
{
AliMUONTriggerCrateConfig* crate
= (AliMUONTriggerCrateConfig*) fTriggerCrates.GetValue(name.Data());
if ( ! crate && warn ) {
AliErrorStream()
<< "Trigger crate with name = " << name.Data() << " not defined." << endl;
}
return crate;
}
Int_t AliMUONRegionalTriggerConfig::GetNofTriggerCrates() const
{
return fTriggerCrates.GetSize();
}
TIterator*
AliMUONRegionalTriggerConfig::CreateCrateIterator() const
{
return fTriggerCrates.CreateIterator();
}
AliMUONRegionalTriggerConfig.cxx:1 AliMUONRegionalTriggerConfig.cxx:2 AliMUONRegionalTriggerConfig.cxx:3 AliMUONRegionalTriggerConfig.cxx:4 AliMUONRegionalTriggerConfig.cxx:5 AliMUONRegionalTriggerConfig.cxx:6 AliMUONRegionalTriggerConfig.cxx:7 AliMUONRegionalTriggerConfig.cxx:8 AliMUONRegionalTriggerConfig.cxx:9 AliMUONRegionalTriggerConfig.cxx:10 AliMUONRegionalTriggerConfig.cxx:11 AliMUONRegionalTriggerConfig.cxx:12 AliMUONRegionalTriggerConfig.cxx:13 AliMUONRegionalTriggerConfig.cxx:14 AliMUONRegionalTriggerConfig.cxx:15 AliMUONRegionalTriggerConfig.cxx:16 AliMUONRegionalTriggerConfig.cxx:17 AliMUONRegionalTriggerConfig.cxx:18 AliMUONRegionalTriggerConfig.cxx:19 AliMUONRegionalTriggerConfig.cxx:20 AliMUONRegionalTriggerConfig.cxx:21 AliMUONRegionalTriggerConfig.cxx:22 AliMUONRegionalTriggerConfig.cxx:23 AliMUONRegionalTriggerConfig.cxx:24 AliMUONRegionalTriggerConfig.cxx:25 AliMUONRegionalTriggerConfig.cxx:26 AliMUONRegionalTriggerConfig.cxx:27 AliMUONRegionalTriggerConfig.cxx:28 AliMUONRegionalTriggerConfig.cxx:29 AliMUONRegionalTriggerConfig.cxx:30 AliMUONRegionalTriggerConfig.cxx:31 AliMUONRegionalTriggerConfig.cxx:32 AliMUONRegionalTriggerConfig.cxx:33 AliMUONRegionalTriggerConfig.cxx:34 AliMUONRegionalTriggerConfig.cxx:35 AliMUONRegionalTriggerConfig.cxx:36 AliMUONRegionalTriggerConfig.cxx:37 AliMUONRegionalTriggerConfig.cxx:38 AliMUONRegionalTriggerConfig.cxx:39 AliMUONRegionalTriggerConfig.cxx:40 AliMUONRegionalTriggerConfig.cxx:41 AliMUONRegionalTriggerConfig.cxx:42 AliMUONRegionalTriggerConfig.cxx:43 AliMUONRegionalTriggerConfig.cxx:44 AliMUONRegionalTriggerConfig.cxx:45 AliMUONRegionalTriggerConfig.cxx:46 AliMUONRegionalTriggerConfig.cxx:47 AliMUONRegionalTriggerConfig.cxx:48 AliMUONRegionalTriggerConfig.cxx:49 AliMUONRegionalTriggerConfig.cxx:50 AliMUONRegionalTriggerConfig.cxx:51 AliMUONRegionalTriggerConfig.cxx:52 AliMUONRegionalTriggerConfig.cxx:53 AliMUONRegionalTriggerConfig.cxx:54 AliMUONRegionalTriggerConfig.cxx:55 AliMUONRegionalTriggerConfig.cxx:56 AliMUONRegionalTriggerConfig.cxx:57 AliMUONRegionalTriggerConfig.cxx:58 AliMUONRegionalTriggerConfig.cxx:59 AliMUONRegionalTriggerConfig.cxx:60 AliMUONRegionalTriggerConfig.cxx:61 AliMUONRegionalTriggerConfig.cxx:62 AliMUONRegionalTriggerConfig.cxx:63 AliMUONRegionalTriggerConfig.cxx:64 AliMUONRegionalTriggerConfig.cxx:65 AliMUONRegionalTriggerConfig.cxx:66 AliMUONRegionalTriggerConfig.cxx:67 AliMUONRegionalTriggerConfig.cxx:68 AliMUONRegionalTriggerConfig.cxx:69 AliMUONRegionalTriggerConfig.cxx:70 AliMUONRegionalTriggerConfig.cxx:71 AliMUONRegionalTriggerConfig.cxx:72 AliMUONRegionalTriggerConfig.cxx:73 AliMUONRegionalTriggerConfig.cxx:74 AliMUONRegionalTriggerConfig.cxx:75 AliMUONRegionalTriggerConfig.cxx:76 AliMUONRegionalTriggerConfig.cxx:77 AliMUONRegionalTriggerConfig.cxx:78 AliMUONRegionalTriggerConfig.cxx:79 AliMUONRegionalTriggerConfig.cxx:80 AliMUONRegionalTriggerConfig.cxx:81 AliMUONRegionalTriggerConfig.cxx:82 AliMUONRegionalTriggerConfig.cxx:83 AliMUONRegionalTriggerConfig.cxx:84 AliMUONRegionalTriggerConfig.cxx:85 AliMUONRegionalTriggerConfig.cxx:86 AliMUONRegionalTriggerConfig.cxx:87 AliMUONRegionalTriggerConfig.cxx:88 AliMUONRegionalTriggerConfig.cxx:89 AliMUONRegionalTriggerConfig.cxx:90 AliMUONRegionalTriggerConfig.cxx:91 AliMUONRegionalTriggerConfig.cxx:92 AliMUONRegionalTriggerConfig.cxx:93 AliMUONRegionalTriggerConfig.cxx:94 AliMUONRegionalTriggerConfig.cxx:95 AliMUONRegionalTriggerConfig.cxx:96 AliMUONRegionalTriggerConfig.cxx:97 AliMUONRegionalTriggerConfig.cxx:98 AliMUONRegionalTriggerConfig.cxx:99 AliMUONRegionalTriggerConfig.cxx:100 AliMUONRegionalTriggerConfig.cxx:101 AliMUONRegionalTriggerConfig.cxx:102 AliMUONRegionalTriggerConfig.cxx:103 AliMUONRegionalTriggerConfig.cxx:104 AliMUONRegionalTriggerConfig.cxx:105 AliMUONRegionalTriggerConfig.cxx:106 AliMUONRegionalTriggerConfig.cxx:107 AliMUONRegionalTriggerConfig.cxx:108 AliMUONRegionalTriggerConfig.cxx:109 AliMUONRegionalTriggerConfig.cxx:110 AliMUONRegionalTriggerConfig.cxx:111 AliMUONRegionalTriggerConfig.cxx:112 AliMUONRegionalTriggerConfig.cxx:113 AliMUONRegionalTriggerConfig.cxx:114 AliMUONRegionalTriggerConfig.cxx:115 AliMUONRegionalTriggerConfig.cxx:116 AliMUONRegionalTriggerConfig.cxx:117 AliMUONRegionalTriggerConfig.cxx:118 AliMUONRegionalTriggerConfig.cxx:119 AliMUONRegionalTriggerConfig.cxx:120 AliMUONRegionalTriggerConfig.cxx:121 AliMUONRegionalTriggerConfig.cxx:122 AliMUONRegionalTriggerConfig.cxx:123 AliMUONRegionalTriggerConfig.cxx:124 AliMUONRegionalTriggerConfig.cxx:125 AliMUONRegionalTriggerConfig.cxx:126 AliMUONRegionalTriggerConfig.cxx:127 AliMUONRegionalTriggerConfig.cxx:128 AliMUONRegionalTriggerConfig.cxx:129 AliMUONRegionalTriggerConfig.cxx:130 AliMUONRegionalTriggerConfig.cxx:131 AliMUONRegionalTriggerConfig.cxx:132 AliMUONRegionalTriggerConfig.cxx:133 AliMUONRegionalTriggerConfig.cxx:134 AliMUONRegionalTriggerConfig.cxx:135 AliMUONRegionalTriggerConfig.cxx:136 AliMUONRegionalTriggerConfig.cxx:137 AliMUONRegionalTriggerConfig.cxx:138 AliMUONRegionalTriggerConfig.cxx:139 AliMUONRegionalTriggerConfig.cxx:140 AliMUONRegionalTriggerConfig.cxx:141 AliMUONRegionalTriggerConfig.cxx:142 AliMUONRegionalTriggerConfig.cxx:143 AliMUONRegionalTriggerConfig.cxx:144 AliMUONRegionalTriggerConfig.cxx:145 AliMUONRegionalTriggerConfig.cxx:146 AliMUONRegionalTriggerConfig.cxx:147 AliMUONRegionalTriggerConfig.cxx:148 AliMUONRegionalTriggerConfig.cxx:149 AliMUONRegionalTriggerConfig.cxx:150 AliMUONRegionalTriggerConfig.cxx:151 AliMUONRegionalTriggerConfig.cxx:152 AliMUONRegionalTriggerConfig.cxx:153 AliMUONRegionalTriggerConfig.cxx:154 AliMUONRegionalTriggerConfig.cxx:155 AliMUONRegionalTriggerConfig.cxx:156 AliMUONRegionalTriggerConfig.cxx:157 AliMUONRegionalTriggerConfig.cxx:158 AliMUONRegionalTriggerConfig.cxx:159 AliMUONRegionalTriggerConfig.cxx:160 AliMUONRegionalTriggerConfig.cxx:161 AliMUONRegionalTriggerConfig.cxx:162 AliMUONRegionalTriggerConfig.cxx:163 AliMUONRegionalTriggerConfig.cxx:164 AliMUONRegionalTriggerConfig.cxx:165 AliMUONRegionalTriggerConfig.cxx:166 AliMUONRegionalTriggerConfig.cxx:167 AliMUONRegionalTriggerConfig.cxx:168 AliMUONRegionalTriggerConfig.cxx:169 AliMUONRegionalTriggerConfig.cxx:170 AliMUONRegionalTriggerConfig.cxx:171 AliMUONRegionalTriggerConfig.cxx:172 AliMUONRegionalTriggerConfig.cxx:173 AliMUONRegionalTriggerConfig.cxx:174 AliMUONRegionalTriggerConfig.cxx:175 AliMUONRegionalTriggerConfig.cxx:176 AliMUONRegionalTriggerConfig.cxx:177 AliMUONRegionalTriggerConfig.cxx:178 AliMUONRegionalTriggerConfig.cxx:179 AliMUONRegionalTriggerConfig.cxx:180 AliMUONRegionalTriggerConfig.cxx:181 AliMUONRegionalTriggerConfig.cxx:182 AliMUONRegionalTriggerConfig.cxx:183 AliMUONRegionalTriggerConfig.cxx:184 AliMUONRegionalTriggerConfig.cxx:185 AliMUONRegionalTriggerConfig.cxx:186 AliMUONRegionalTriggerConfig.cxx:187 AliMUONRegionalTriggerConfig.cxx:188 AliMUONRegionalTriggerConfig.cxx:189 AliMUONRegionalTriggerConfig.cxx:190 AliMUONRegionalTriggerConfig.cxx:191 AliMUONRegionalTriggerConfig.cxx:192 AliMUONRegionalTriggerConfig.cxx:193 AliMUONRegionalTriggerConfig.cxx:194 AliMUONRegionalTriggerConfig.cxx:195 AliMUONRegionalTriggerConfig.cxx:196 AliMUONRegionalTriggerConfig.cxx:197 AliMUONRegionalTriggerConfig.cxx:198 AliMUONRegionalTriggerConfig.cxx:199 AliMUONRegionalTriggerConfig.cxx:200 AliMUONRegionalTriggerConfig.cxx:201 AliMUONRegionalTriggerConfig.cxx:202 AliMUONRegionalTriggerConfig.cxx:203 AliMUONRegionalTriggerConfig.cxx:204 AliMUONRegionalTriggerConfig.cxx:205 AliMUONRegionalTriggerConfig.cxx:206 AliMUONRegionalTriggerConfig.cxx:207 AliMUONRegionalTriggerConfig.cxx:208 AliMUONRegionalTriggerConfig.cxx:209 AliMUONRegionalTriggerConfig.cxx:210 AliMUONRegionalTriggerConfig.cxx:211 AliMUONRegionalTriggerConfig.cxx:212 AliMUONRegionalTriggerConfig.cxx:213 AliMUONRegionalTriggerConfig.cxx:214 AliMUONRegionalTriggerConfig.cxx:215 AliMUONRegionalTriggerConfig.cxx:216 AliMUONRegionalTriggerConfig.cxx:217 AliMUONRegionalTriggerConfig.cxx:218 AliMUONRegionalTriggerConfig.cxx:219 AliMUONRegionalTriggerConfig.cxx:220 AliMUONRegionalTriggerConfig.cxx:221