#include "AliMUONTriggerStoreV1.h"
#include "AliMUONGlobalTrigger.h"
#include "AliMUONLocalTrigger.h"
#include "AliMUONRegionalTrigger.h"
#include "AliMUONTreeManager.h"
#include <Riostream.h>
#include <TClonesArray.h>
#include <TTree.h>
using std::cout;
using std::endl;
ClassImp(AliMUONTriggerStoreV1)
AliMUONTriggerStoreV1::AliMUONTriggerStoreV1() : AliMUONVTriggerStore(),
fLocal(new TClonesArray("AliMUONLocalTrigger",242)),
fRegional(new TClonesArray("AliMUONRegionalTrigger",16)),
fGlobal(new TClonesArray("AliMUONGlobalTrigger",1)),
fEmptyLocal(new TClonesArray("AliMUONLocalTrigger",242))
{
fLocal->SetOwner(kTRUE);
fRegional->SetOwner(kTRUE);
fGlobal->SetOwner(kTRUE);
fEmptyLocal->SetOwner(kTRUE);
}
AliMUONTriggerStoreV1::~AliMUONTriggerStoreV1()
{
delete fLocal;
delete fRegional;
delete fGlobal;
delete fEmptyLocal;
}
void
AliMUONTriggerStoreV1::Add(const AliMUONLocalTrigger& localTrigger)
{
if ( !localTrigger.IsNull() )
{
new((*fLocal)[fLocal->GetLast()+1]) AliMUONLocalTrigger(localTrigger);
}
else
{
new((*fEmptyLocal)[fEmptyLocal->GetLast()+1]) AliMUONLocalTrigger(localTrigger);
}
}
Bool_t
AliMUONTriggerStoreV1::Connect(TTree& tree, Bool_t alone) const
{
AliMUONTreeManager tman;
Bool_t ok(kTRUE);
Bool_t isMaking = ( tree.GetBranch("MUONLocalTrigger") == 0 );
if ( isMaking )
{
ok = ok && tman.MakeBranch(tree,ClassName(),"TClonesArray",
"MUONLocalTrigger",LocalPtr());
ok = ok && tman.MakeBranch(tree,ClassName(),"TClonesArray",
"MUONRegionalTrigger",RegionalPtr());
ok = ok && tman.MakeBranch(tree,ClassName(),"TClonesArray",
"MUONGlobalTrigger",GlobalPtr());
}
else
{
if ( alone ) tman.UpdateBranchStatuses(tree,"Trigger");
ok = ok && tman.SetAddress(tree,"MUONLocalTrigger",LocalPtr());
ok = ok && tman.SetAddress(tree,"MUONRegionalTrigger",RegionalPtr());
ok = ok && tman.SetAddress(tree,"MUONGlobalTrigger",GlobalPtr());
}
return ok;
}
void
AliMUONTriggerStoreV1::SetGlobal(const AliMUONGlobalTrigger& globalTrigger)
{
new((*fGlobal)[0]) AliMUONGlobalTrigger(globalTrigger);
}
void
AliMUONTriggerStoreV1::Add(const AliMUONRegionalTrigger& regionalTrigger)
{
new((*fRegional)[fRegional->GetLast()+1]) AliMUONRegionalTrigger(regionalTrigger);
}
TIterator*
AliMUONTriggerStoreV1::CreateLocalIterator() const
{
return fLocal->MakeIterator();
}
TIterator*
AliMUONTriggerStoreV1::CreateRegionalIterator() const
{
return fRegional->MakeIterator();
}
AliMUONLocalTrigger*
AliMUONTriggerStoreV1::FindLocal(Int_t boardNumber) const
{
for ( Int_t i = 0; i <= fLocal->GetLast(); ++i )
{
AliMUONLocalTrigger* local = static_cast<AliMUONLocalTrigger*>(fLocal->At(i));
if (local && local->LoCircuit()==boardNumber)
{
return local;
}
}
for ( Int_t i = 0; i <= fEmptyLocal->GetLast(); ++i )
{
AliMUONLocalTrigger* local = static_cast<AliMUONLocalTrigger*>(fEmptyLocal->At(i));
if (local && local->LoCircuit()==boardNumber)
{
return local;
}
}
if ( boardNumber>=1 && boardNumber<=242 )
{
AliMUONLocalTrigger empty;
empty.SetLoCircuit(boardNumber);
new((*fEmptyLocal)[fEmptyLocal->GetLast()+1]) AliMUONLocalTrigger(empty);
return FindLocal(boardNumber);
}
return 0x0;
}
AliMUONRegionalTrigger*
AliMUONTriggerStoreV1::FindRegional(Int_t boardNumber) const
{
for ( Int_t i = 0; i <= fRegional->GetLast(); ++i )
{
AliMUONRegionalTrigger* regional = static_cast<AliMUONRegionalTrigger*>(fRegional->At(i));
if (regional && regional->GetId()==boardNumber)
{
return regional;
}
}
return 0x0;
}
AliMUONGlobalTrigger*
AliMUONTriggerStoreV1::Global() const
{
return static_cast<AliMUONGlobalTrigger*>(fGlobal->At(0));
}
void
AliMUONTriggerStoreV1::Clear(Option_t*)
{
fLocal->Clear("C");
fRegional->Clear("C");
fGlobal->Clear("C");
fEmptyLocal->Clear("C");
}
Int_t
AliMUONTriggerStoreV1::GetSize() const
{
return fLocal->GetSize();
}
void
AliMUONTriggerStoreV1::Print(Option_t* what, Option_t* opt) const
{
TString swhat(what);
swhat.ToUpper();
if ( swhat.Length() == 0 ) swhat = "ALL";
if ( swhat.Contains("GLOBAL") || swhat.Contains("ALL") )
{
if ( fGlobal )
{
cout << "Global:" << endl;
fGlobal->Print("",opt);
}
else
{
cout << "No GlobalTrigger information" << endl;
}
}
if ( fLocal && ( swhat.Contains("LOCAL")|| swhat.Contains("ALL") ) )
{
TIter next(fLocal);
AliMUONLocalTrigger* local;
Int_t n(0);
while ( ( local = static_cast<AliMUONLocalTrigger*>(next()) ) )
{
if ( local->IsNull() ) ++n;
}
cout << Form("Local: %d cards (and %d null ones)",
fLocal->GetLast()+1,n) << endl;
next.Reset();
while ( ( local = static_cast<AliMUONLocalTrigger*>(next()) ) )
{
if ( !local->IsNull() )
{
local->Print(opt);
}
}
}
if ( fRegional && ( swhat.Contains("REGIONAL") || swhat.Contains("ALL") ) )
{
fRegional->Print("",opt);
}
}
AliMUONTriggerStoreV1.cxx:1 AliMUONTriggerStoreV1.cxx:2 AliMUONTriggerStoreV1.cxx:3 AliMUONTriggerStoreV1.cxx:4 AliMUONTriggerStoreV1.cxx:5 AliMUONTriggerStoreV1.cxx:6 AliMUONTriggerStoreV1.cxx:7 AliMUONTriggerStoreV1.cxx:8 AliMUONTriggerStoreV1.cxx:9 AliMUONTriggerStoreV1.cxx:10 AliMUONTriggerStoreV1.cxx:11 AliMUONTriggerStoreV1.cxx:12 AliMUONTriggerStoreV1.cxx:13 AliMUONTriggerStoreV1.cxx:14 AliMUONTriggerStoreV1.cxx:15 AliMUONTriggerStoreV1.cxx:16 AliMUONTriggerStoreV1.cxx:17 AliMUONTriggerStoreV1.cxx:18 AliMUONTriggerStoreV1.cxx:19 AliMUONTriggerStoreV1.cxx:20 AliMUONTriggerStoreV1.cxx:21 AliMUONTriggerStoreV1.cxx:22 AliMUONTriggerStoreV1.cxx:23 AliMUONTriggerStoreV1.cxx:24 AliMUONTriggerStoreV1.cxx:25 AliMUONTriggerStoreV1.cxx:26 AliMUONTriggerStoreV1.cxx:27 AliMUONTriggerStoreV1.cxx:28 AliMUONTriggerStoreV1.cxx:29 AliMUONTriggerStoreV1.cxx:30 AliMUONTriggerStoreV1.cxx:31 AliMUONTriggerStoreV1.cxx:32 AliMUONTriggerStoreV1.cxx:33 AliMUONTriggerStoreV1.cxx:34 AliMUONTriggerStoreV1.cxx:35 AliMUONTriggerStoreV1.cxx:36 AliMUONTriggerStoreV1.cxx:37 AliMUONTriggerStoreV1.cxx:38 AliMUONTriggerStoreV1.cxx:39 AliMUONTriggerStoreV1.cxx:40 AliMUONTriggerStoreV1.cxx:41 AliMUONTriggerStoreV1.cxx:42 AliMUONTriggerStoreV1.cxx:43 AliMUONTriggerStoreV1.cxx:44 AliMUONTriggerStoreV1.cxx:45 AliMUONTriggerStoreV1.cxx:46 AliMUONTriggerStoreV1.cxx:47 AliMUONTriggerStoreV1.cxx:48 AliMUONTriggerStoreV1.cxx:49 AliMUONTriggerStoreV1.cxx:50 AliMUONTriggerStoreV1.cxx:51 AliMUONTriggerStoreV1.cxx:52 AliMUONTriggerStoreV1.cxx:53 AliMUONTriggerStoreV1.cxx:54 AliMUONTriggerStoreV1.cxx:55 AliMUONTriggerStoreV1.cxx:56 AliMUONTriggerStoreV1.cxx:57 AliMUONTriggerStoreV1.cxx:58 AliMUONTriggerStoreV1.cxx:59 AliMUONTriggerStoreV1.cxx:60 AliMUONTriggerStoreV1.cxx:61 AliMUONTriggerStoreV1.cxx:62 AliMUONTriggerStoreV1.cxx:63 AliMUONTriggerStoreV1.cxx:64 AliMUONTriggerStoreV1.cxx:65 AliMUONTriggerStoreV1.cxx:66 AliMUONTriggerStoreV1.cxx:67 AliMUONTriggerStoreV1.cxx:68 AliMUONTriggerStoreV1.cxx:69 AliMUONTriggerStoreV1.cxx:70 AliMUONTriggerStoreV1.cxx:71 AliMUONTriggerStoreV1.cxx:72 AliMUONTriggerStoreV1.cxx:73 AliMUONTriggerStoreV1.cxx:74 AliMUONTriggerStoreV1.cxx:75 AliMUONTriggerStoreV1.cxx:76 AliMUONTriggerStoreV1.cxx:77 AliMUONTriggerStoreV1.cxx:78 AliMUONTriggerStoreV1.cxx:79 AliMUONTriggerStoreV1.cxx:80 AliMUONTriggerStoreV1.cxx:81 AliMUONTriggerStoreV1.cxx:82 AliMUONTriggerStoreV1.cxx:83 AliMUONTriggerStoreV1.cxx:84 AliMUONTriggerStoreV1.cxx:85 AliMUONTriggerStoreV1.cxx:86 AliMUONTriggerStoreV1.cxx:87 AliMUONTriggerStoreV1.cxx:88 AliMUONTriggerStoreV1.cxx:89 AliMUONTriggerStoreV1.cxx:90 AliMUONTriggerStoreV1.cxx:91 AliMUONTriggerStoreV1.cxx:92 AliMUONTriggerStoreV1.cxx:93 AliMUONTriggerStoreV1.cxx:94 AliMUONTriggerStoreV1.cxx:95 AliMUONTriggerStoreV1.cxx:96 AliMUONTriggerStoreV1.cxx:97 AliMUONTriggerStoreV1.cxx:98 AliMUONTriggerStoreV1.cxx:99 AliMUONTriggerStoreV1.cxx:100 AliMUONTriggerStoreV1.cxx:101 AliMUONTriggerStoreV1.cxx:102 AliMUONTriggerStoreV1.cxx:103 AliMUONTriggerStoreV1.cxx:104 AliMUONTriggerStoreV1.cxx:105 AliMUONTriggerStoreV1.cxx:106 AliMUONTriggerStoreV1.cxx:107 AliMUONTriggerStoreV1.cxx:108 AliMUONTriggerStoreV1.cxx:109 AliMUONTriggerStoreV1.cxx:110 AliMUONTriggerStoreV1.cxx:111 AliMUONTriggerStoreV1.cxx:112 AliMUONTriggerStoreV1.cxx:113 AliMUONTriggerStoreV1.cxx:114 AliMUONTriggerStoreV1.cxx:115 AliMUONTriggerStoreV1.cxx:116 AliMUONTriggerStoreV1.cxx:117 AliMUONTriggerStoreV1.cxx:118 AliMUONTriggerStoreV1.cxx:119 AliMUONTriggerStoreV1.cxx:120 AliMUONTriggerStoreV1.cxx:121 AliMUONTriggerStoreV1.cxx:122 AliMUONTriggerStoreV1.cxx:123 AliMUONTriggerStoreV1.cxx:124 AliMUONTriggerStoreV1.cxx:125 AliMUONTriggerStoreV1.cxx:126 AliMUONTriggerStoreV1.cxx:127 AliMUONTriggerStoreV1.cxx:128 AliMUONTriggerStoreV1.cxx:129 AliMUONTriggerStoreV1.cxx:130 AliMUONTriggerStoreV1.cxx:131 AliMUONTriggerStoreV1.cxx:132 AliMUONTriggerStoreV1.cxx:133 AliMUONTriggerStoreV1.cxx:134 AliMUONTriggerStoreV1.cxx:135 AliMUONTriggerStoreV1.cxx:136 AliMUONTriggerStoreV1.cxx:137 AliMUONTriggerStoreV1.cxx:138 AliMUONTriggerStoreV1.cxx:139 AliMUONTriggerStoreV1.cxx:140 AliMUONTriggerStoreV1.cxx:141 AliMUONTriggerStoreV1.cxx:142 AliMUONTriggerStoreV1.cxx:143 AliMUONTriggerStoreV1.cxx:144 AliMUONTriggerStoreV1.cxx:145 AliMUONTriggerStoreV1.cxx:146 AliMUONTriggerStoreV1.cxx:147 AliMUONTriggerStoreV1.cxx:148 AliMUONTriggerStoreV1.cxx:149 AliMUONTriggerStoreV1.cxx:150 AliMUONTriggerStoreV1.cxx:151 AliMUONTriggerStoreV1.cxx:152 AliMUONTriggerStoreV1.cxx:153 AliMUONTriggerStoreV1.cxx:154 AliMUONTriggerStoreV1.cxx:155 AliMUONTriggerStoreV1.cxx:156 AliMUONTriggerStoreV1.cxx:157 AliMUONTriggerStoreV1.cxx:158 AliMUONTriggerStoreV1.cxx:159 AliMUONTriggerStoreV1.cxx:160 AliMUONTriggerStoreV1.cxx:161 AliMUONTriggerStoreV1.cxx:162 AliMUONTriggerStoreV1.cxx:163 AliMUONTriggerStoreV1.cxx:164 AliMUONTriggerStoreV1.cxx:165 AliMUONTriggerStoreV1.cxx:166 AliMUONTriggerStoreV1.cxx:167 AliMUONTriggerStoreV1.cxx:168 AliMUONTriggerStoreV1.cxx:169 AliMUONTriggerStoreV1.cxx:170 AliMUONTriggerStoreV1.cxx:171 AliMUONTriggerStoreV1.cxx:172 AliMUONTriggerStoreV1.cxx:173 AliMUONTriggerStoreV1.cxx:174 AliMUONTriggerStoreV1.cxx:175 AliMUONTriggerStoreV1.cxx:176 AliMUONTriggerStoreV1.cxx:177 AliMUONTriggerStoreV1.cxx:178 AliMUONTriggerStoreV1.cxx:179 AliMUONTriggerStoreV1.cxx:180 AliMUONTriggerStoreV1.cxx:181 AliMUONTriggerStoreV1.cxx:182 AliMUONTriggerStoreV1.cxx:183 AliMUONTriggerStoreV1.cxx:184 AliMUONTriggerStoreV1.cxx:185 AliMUONTriggerStoreV1.cxx:186 AliMUONTriggerStoreV1.cxx:187 AliMUONTriggerStoreV1.cxx:188 AliMUONTriggerStoreV1.cxx:189 AliMUONTriggerStoreV1.cxx:190 AliMUONTriggerStoreV1.cxx:191 AliMUONTriggerStoreV1.cxx:192 AliMUONTriggerStoreV1.cxx:193 AliMUONTriggerStoreV1.cxx:194 AliMUONTriggerStoreV1.cxx:195 AliMUONTriggerStoreV1.cxx:196 AliMUONTriggerStoreV1.cxx:197 AliMUONTriggerStoreV1.cxx:198 AliMUONTriggerStoreV1.cxx:199 AliMUONTriggerStoreV1.cxx:200 AliMUONTriggerStoreV1.cxx:201 AliMUONTriggerStoreV1.cxx:202 AliMUONTriggerStoreV1.cxx:203 AliMUONTriggerStoreV1.cxx:204 AliMUONTriggerStoreV1.cxx:205 AliMUONTriggerStoreV1.cxx:206 AliMUONTriggerStoreV1.cxx:207 AliMUONTriggerStoreV1.cxx:208 AliMUONTriggerStoreV1.cxx:209 AliMUONTriggerStoreV1.cxx:210 AliMUONTriggerStoreV1.cxx:211 AliMUONTriggerStoreV1.cxx:212 AliMUONTriggerStoreV1.cxx:213 AliMUONTriggerStoreV1.cxx:214 AliMUONTriggerStoreV1.cxx:215 AliMUONTriggerStoreV1.cxx:216 AliMUONTriggerStoreV1.cxx:217 AliMUONTriggerStoreV1.cxx:218 AliMUONTriggerStoreV1.cxx:219 AliMUONTriggerStoreV1.cxx:220 AliMUONTriggerStoreV1.cxx:221 AliMUONTriggerStoreV1.cxx:222 AliMUONTriggerStoreV1.cxx:223 AliMUONTriggerStoreV1.cxx:224 AliMUONTriggerStoreV1.cxx:225 AliMUONTriggerStoreV1.cxx:226 AliMUONTriggerStoreV1.cxx:227 AliMUONTriggerStoreV1.cxx:228 AliMUONTriggerStoreV1.cxx:229 AliMUONTriggerStoreV1.cxx:230 AliMUONTriggerStoreV1.cxx:231 AliMUONTriggerStoreV1.cxx:232 AliMUONTriggerStoreV1.cxx:233 AliMUONTriggerStoreV1.cxx:234 AliMUONTriggerStoreV1.cxx:235 AliMUONTriggerStoreV1.cxx:236 AliMUONTriggerStoreV1.cxx:237 AliMUONTriggerStoreV1.cxx:238 AliMUONTriggerStoreV1.cxx:239 AliMUONTriggerStoreV1.cxx:240 AliMUONTriggerStoreV1.cxx:241 AliMUONTriggerStoreV1.cxx:242 AliMUONTriggerStoreV1.cxx:243 AliMUONTriggerStoreV1.cxx:244 AliMUONTriggerStoreV1.cxx:245 AliMUONTriggerStoreV1.cxx:246 AliMUONTriggerStoreV1.cxx:247 AliMUONTriggerStoreV1.cxx:248 AliMUONTriggerStoreV1.cxx:249 AliMUONTriggerStoreV1.cxx:250 AliMUONTriggerStoreV1.cxx:251 AliMUONTriggerStoreV1.cxx:252 AliMUONTriggerStoreV1.cxx:253 AliMUONTriggerStoreV1.cxx:254 AliMUONTriggerStoreV1.cxx:255 AliMUONTriggerStoreV1.cxx:256 AliMUONTriggerStoreV1.cxx:257 AliMUONTriggerStoreV1.cxx:258 AliMUONTriggerStoreV1.cxx:259 AliMUONTriggerStoreV1.cxx:260 AliMUONTriggerStoreV1.cxx:261 AliMUONTriggerStoreV1.cxx:262 AliMUONTriggerStoreV1.cxx:263 AliMUONTriggerStoreV1.cxx:264 AliMUONTriggerStoreV1.cxx:265 AliMUONTriggerStoreV1.cxx:266 AliMUONTriggerStoreV1.cxx:267 AliMUONTriggerStoreV1.cxx:268 AliMUONTriggerStoreV1.cxx:269 AliMUONTriggerStoreV1.cxx:270 AliMUONTriggerStoreV1.cxx:271 AliMUONTriggerStoreV1.cxx:272 AliMUONTriggerStoreV1.cxx:273 AliMUONTriggerStoreV1.cxx:274 AliMUONTriggerStoreV1.cxx:275 AliMUONTriggerStoreV1.cxx:276 AliMUONTriggerStoreV1.cxx:277 AliMUONTriggerStoreV1.cxx:278 AliMUONTriggerStoreV1.cxx:279 AliMUONTriggerStoreV1.cxx:280 AliMUONTriggerStoreV1.cxx:281 AliMUONTriggerStoreV1.cxx:282 AliMUONTriggerStoreV1.cxx:283 AliMUONTriggerStoreV1.cxx:284 AliMUONTriggerStoreV1.cxx:285 AliMUONTriggerStoreV1.cxx:286 AliMUONTriggerStoreV1.cxx:287 AliMUONTriggerStoreV1.cxx:288 AliMUONTriggerStoreV1.cxx:289 AliMUONTriggerStoreV1.cxx:290 AliMUONTriggerStoreV1.cxx:291 AliMUONTriggerStoreV1.cxx:292 AliMUONTriggerStoreV1.cxx:293 AliMUONTriggerStoreV1.cxx:294 AliMUONTriggerStoreV1.cxx:295