ROOT logo
/**************************************************************************
* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
*                                                                        *
* Author: The ALICE Off-line Project.                                    *
* Contributors are mentioned in the code where appropriate.              *
*                                                                        *
* Permission to use, copy, modify and distribute this software and its   *
* documentation strictly for non-commercial purposes is hereby granted   *
* without fee, provided that the above copyright notice appears in all   *
* copies and that both the copyright notice and this permission notice   *
* appear in the supporting documentation. The authors make no claims     *
* about the suitability of this software for any purpose. It is          *
* provided "as is" without express or implied warranty.                  *
**************************************************************************/

// $Id$

//-----------------------------------------------------------------------------
/// \class AliMUONTriggerStoreV1
///
/// Implementation of AliMUONVTriggerStore, which is backward compatible,
/// i.e. should be able to read back old TreeR and TreeD files, produced
/// before the introduction of the AliMUONVStore concept.
/// 
/// \author Laurent Aphecetche, Subatech
//-----------------------------------------------------------------------------

#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;
/// \cond CLASSIMP
ClassImp(AliMUONTriggerStoreV1)
/// \endcond

//_____________________________________________________________________________
AliMUONTriggerStoreV1::AliMUONTriggerStoreV1() : AliMUONVTriggerStore(),
fLocal(new TClonesArray("AliMUONLocalTrigger",242)),
fRegional(new TClonesArray("AliMUONRegionalTrigger",16)),
fGlobal(new TClonesArray("AliMUONGlobalTrigger",1)),
fEmptyLocal(new TClonesArray("AliMUONLocalTrigger",242))
{
  /// ctor
  fLocal->SetOwner(kTRUE);
  fRegional->SetOwner(kTRUE);
  fGlobal->SetOwner(kTRUE);
  fEmptyLocal->SetOwner(kTRUE);
}

//_____________________________________________________________________________
AliMUONTriggerStoreV1::~AliMUONTriggerStoreV1()
{
  /// dtor
  delete fLocal;
  delete fRegional;
  delete fGlobal;
  delete fEmptyLocal;
}

//_____________________________________________________________________________
void 
AliMUONTriggerStoreV1::Add(const AliMUONLocalTrigger& localTrigger)
{
  /// Add local information
  /// If the local board has no information (IsNull), we
  /// add it in the fEmpty array
  /// This is really an implementation choice, to store empty boards
  /// in order to be able to return them, if asked for, as is the case
  /// in some client code. Note that only the non-empty boards
  /// are streamed to disk.
  ///
  
  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
{
  /// Connect this store to the tree
  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)
{
  /// Set the global information
  new((*fGlobal)[0]) AliMUONGlobalTrigger(globalTrigger);
}

//_____________________________________________________________________________
void 
AliMUONTriggerStoreV1::Add(const AliMUONRegionalTrigger& regionalTrigger)
{
  /// Add regional information
  new((*fRegional)[fRegional->GetLast()+1]) AliMUONRegionalTrigger(regionalTrigger);
}

//_____________________________________________________________________________
TIterator* 
AliMUONTriggerStoreV1::CreateLocalIterator() const
{
  /// Return iterator on local cards
  return fLocal->MakeIterator();
}

//_____________________________________________________________________________
TIterator*
AliMUONTriggerStoreV1::CreateRegionalIterator() const
{
  /// Return iterator on regional cards
  return fRegional->MakeIterator();
}

//_____________________________________________________________________________
AliMUONLocalTrigger* 
AliMUONTriggerStoreV1::FindLocal(Int_t boardNumber) const
{
  /// Find a local board, by its *number* (not to be confused with its index,
  /// which used to be the key)
  ///
  
  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
{
  /// Return a given regional board
  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 global trigger
  return static_cast<AliMUONGlobalTrigger*>(fGlobal->At(0));
}

//_____________________________________________________________________________
void
AliMUONTriggerStoreV1::Clear(Option_t*)
{
  /// Reset
  fLocal->Clear("C");
  fRegional->Clear("C");
  fGlobal->Clear("C");
  fEmptyLocal->Clear("C");
}

//_____________________________________________________________________________
Int_t
AliMUONTriggerStoreV1::GetSize() const
{
  /// Number of non-empty local boards we hold
  return fLocal->GetSize();
}

//_____________________________________________________________________________
void
AliMUONTriggerStoreV1::Print(Option_t* what, Option_t* opt) const
{
  /// Printout
  /// \param what used to tell what to print, can be GLOBAL, LOCAL, REGIONAL
  /// or ALL
  /// \param opt is passed to the local, regional, global object
  ///
  
  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") ) ) 
  {    
    // make loops instead of just relying on fLocal
    // to insure backward compatibility with trees where all local boards where
    // stored (even null ones)
        
    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