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$
// $MpId: AliMpTriggerSegmentation.cxx,v 1.7 2006/05/24 13:58:52 ivana Exp $

#include "AliMpTriggerSegmentation.h"

#include "AliLog.h"
#include "AliMpConnection.h"
#include "AliMpMotif.h"
#include "AliMpMotifPosition.h"
#include "AliMpMotifType.h"
#include "AliMpPCB.h"
#include "AliMpSlat.h"
#include "AliMpTrigger.h"

//-----------------------------------------------------------------------------
/// \class AliMpTriggerSegmentation
///
/// Implementation of AliMpVSegmentation for trigger slats.
///
/// \todo Implement CreateIterator method, if needed.
///
/// \author Laurent Aphecetche
//-----------------------------------------------------------------------------

/// \cond CLASSIMP
ClassImp(AliMpTriggerSegmentation)
/// \endcond

//_____________________________________________________________________________
AliMpTriggerSegmentation::AliMpTriggerSegmentation() 
: AliMpVSegmentation(),
  fkSlat(0),
  fIsOwner(false),
  fNofStrips(0)
{
  ///
  /// Default ctor. Not to be used really.
  ///
  AliDebug(1,Form("this=%p Empty ctor",this));
}

//_____________________________________________________________________________
AliMpTriggerSegmentation::AliMpTriggerSegmentation(
                               const AliMpTrigger* slat, Bool_t own) 
: AliMpVSegmentation(), 
  fkSlat(slat),
  fIsOwner(own),
  fNofStrips(0)
{
  ///
  /// Normal ctor.
  ///
  AliDebug(1,Form("this=%p Normal ctor slat=%p",this,slat));
  
  // Compute the number of strips.
  // We have to loop over all possible pads, in order to properly take
  // into account the fact that a given strip might be part of several
  // layer. Otherwise we would double count pads.


  for ( Int_t ix = 0; ix <= MaxPadIndexX(); ++ix )
  {
    for ( Int_t iy = 0; iy <= MaxPadIndexY(); ++iy )
    {
      if ( HasPadByIndices(ix,iy) )
      {
        ++fNofStrips;
      }
    }
  }
}

//_____________________________________________________________________________
AliMpTriggerSegmentation::~AliMpTriggerSegmentation()
{
  ///
  /// Dtor (empty).
  ///

  if ( fIsOwner ) delete fkSlat;

  AliDebug(1,Form("this=%p",this));			
}

//_____________________________________________________________________________
AliMpVPadIterator*
AliMpTriggerSegmentation::CreateIterator(const AliMpArea&) const
{
  ///
  /// Returns an iterator to loop over the pad contained within given area.
  /// Not implemented for trigger.
  AliError("Not implemented for trigger");
  return 0;
}

//_____________________________________________________________________________
AliMpVPadIterator*
AliMpTriggerSegmentation::CreateIterator() const
{
  ///
  /// Returns an iterator to loop over all the pads
  /// Not implemented for trigger.
  AliError("Not implemented for trigger");
  
  return 0;
}

//_____________________________________________________________________________
Int_t 
AliMpTriggerSegmentation::GetNeighbours(const AliMpPad& /*pad*/, 
                                        TObjArray& /*neighbours*/,
                                        Bool_t /*includeSelf*/,
                                        Bool_t /*includeVoid*/) const
{
  /// not implemented.
  AliError("Not implemented for trigger");
  return 0;
}

//_____________________________________________________________________________
Double_t  
AliMpTriggerSegmentation::GetDimensionX() const
{
/// Return slat x dimensions
  return Slat()->GetDimensionX();
}

//_____________________________________________________________________________
Double_t  
AliMpTriggerSegmentation::GetDimensionY() const
{
/// Return slat y dimensions
  return Slat()->GetDimensionY();
}

//_____________________________________________________________________________
void 
AliMpTriggerSegmentation::GetAllElectronicCardIDs(TArrayI& ecn) const
{
/// Fill the array ecn with all manuIds

  Slat()->GetAllLocalBoardNumbers(ecn);
}

//_____________________________________________________________________________
const char*
AliMpTriggerSegmentation::GetName() const
{
  /// Name of that segmentation = TriggerSegmentation + slatName
  TString name("TriggerSegmentation");
  if ( fkSlat) 
  {
    name += ".";
    name += fkSlat->GetName();
  }
  return name.Data();
}

//_____________________________________________________________________________
Int_t 
AliMpTriggerSegmentation::MaxPadIndexX() const
{
  ///
  /// Returns the value of the largest pad index in x-direction.
  ///
  
  return fkSlat->GetNofPadsX()-1;
}

//_____________________________________________________________________________
Int_t 
AliMpTriggerSegmentation::MaxPadIndexY() const
{
  ///
  /// Returns the value of the largest pad index in y-direction.
  ///
  
  return fkSlat->GetMaxNofPadsY()-1;
}

//_____________________________________________________________________________
AliMpPad
AliMpTriggerSegmentation::PadByLocation(Int_t manuId, Int_t manuChannel, 
                                        Bool_t warning) const
{
  ///
  /// Returns the pad specified by its location, where location is the 
  /// pair (ManuID,ManuChannel).
  /// If warning=kTRUE and the pad does not exist, a warning message is 
  /// printed.
  ///
  /// AliMpPad::Invalid() is returned if there's no pad at the given location.
  ///
  AliMpPad pad;
  
  for ( Int_t i = 0; i < fkSlat->GetSize(); ++i )
  {
    AliMpVSegmentation* seg = fkSlat->GetLayerSegmentation(i);
    AliMpPad pi = seg->PadByLocation(manuId,manuChannel,kFALSE);
    if ( pi.IsValid() ) 
    {
      if ( !pad.IsValid() )
      {
	// uses PadByIndices to get the complete list of locations
	return PadByIndices(pi.GetIx(), pi.GetIy(), warning);
      }
    }
  }
  if ( warning && !pad.IsValid()  )
  {
    AliWarning(Form("No pad found at location (%d,%d)", manuId, manuChannel));
  }
  return pad;
}

//_____________________________________________________________________________
AliMpPad
AliMpTriggerSegmentation::PadByIndices(Int_t ix, Int_t iy, 
                                       Bool_t warning) const
{
  ///
  /// Returns the pad specified by its integer indices.
  /// If warning=kTRUE and the pad does not exist, a warning message is 
  /// printed.
  ///
  /// AliMpPad::Invalid() is returned if there's no pad at the given location.
  ///
  ///  
 
  AliMpPad pad;

  for ( Int_t i = 0; i < fkSlat->GetSize(); ++i )
  {
    AliMpVSegmentation* seg = fkSlat->GetLayerSegmentation(i);
    AliMpPad pi = seg->PadByIndices(ix,iy,kFALSE);
    if ( pi.IsValid() ) 
    {      
      if ( !pad.IsValid() )
      {
        pad = AliMpPad(0, 0,
                       pi.GetIndices(),
                       pi.GetPositionX(),pi.GetPositionY(),
                       pi.GetDimensionX(), pi.GetDimensionY());
        pad.AddLocation(pi.GetManuId(), pi.GetManuChannel());
      }
      else
      {
        pad.AddLocation(pi.GetManuId(), pi.GetManuChannel());
      }  
    }
  }
  if ( warning && !pad.IsValid()  )
  {
    AliWarning(Form("No pad found at indices (%d,%d)",ix, iy));
  }
  
  return pad;
}

//_____________________________________________________________________________
AliMpPad
AliMpTriggerSegmentation::PadByPosition(Double_t x, Double_t y, 
                                     Bool_t warning) const
{
  ///
  /// Returns the pad specified by its (floating point) position.
  /// If warning=kTRUE and the pad does not exist, a warning message is 
  /// printed.
  ///
  /// AliMpPad::Invalid() is returned if there's no pad at the given location.
  ///
  AliMpPad pad;
  
  for ( Int_t i = 0; i < fkSlat->GetSize(); ++i )
  {
    AliMpVSegmentation* seg = fkSlat->GetLayerSegmentation(i);
    AliMpPad pi = seg->PadByPosition(x,y,kFALSE);
    if ( pi.IsValid() ) 
    {
      if ( !pad.IsValid() )
      {
        pad = AliMpPad(0, 0,
                       pi.GetIndices(),
                       pi.GetPositionX(),pi.GetPositionY(),
                       pi.GetDimensionX(), pi.GetDimensionY());
        pad.AddLocation(pi.GetManuId(), pi.GetManuChannel());
      }
      else
      {
        pad.AddLocation(pi.GetManuId(), pi.GetManuChannel());
      }  
    }
  }
  if ( warning && !pad.IsValid()  )
  {
    AliWarning(Form("No pad found at position (%e,%e)",x,y));
  }
  
  return pad;  
}

//_____________________________________________________________________________
AliMp::PlaneType
AliMpTriggerSegmentation::PlaneType() const
{
  /// Return plane type

  return Slat()->PlaneType();
}

//_____________________________________________________________________________
const AliMpTrigger* 
AliMpTriggerSegmentation::Slat() const
{
  ///
  /// Returns the pointer to the referenced slat.
  ///
  
  return fkSlat;
}

//_____________________________________________________________________________
Int_t 
AliMpTriggerSegmentation::GetNofElectronicCards() const
{
  /// Get the number of local board numbers
  
  TArrayI ecn;
  fkSlat->GetAllLocalBoardNumbers(ecn);
  return ecn.GetSize();  
}

//_____________________________________________________________________________
Double_t  
AliMpTriggerSegmentation::GetPositionX() const
{
  /// Return x position of origin
  return Slat()->GetPositionX();
}

//_____________________________________________________________________________
Double_t  
AliMpTriggerSegmentation::GetPositionY() const
{
  /// Return y position of origin
  return Slat()->GetPositionY();
}

//_____________________________________________________________________________
AliMpMotifPosition* 
AliMpTriggerSegmentation::MotifPosition(Int_t /* manuId */) const
{
  /// No implemented (yet ?)
  AliError("Not implemented");
  return 0x0;
}

//_____________________________________________________________________________
Bool_t 
AliMpTriggerSegmentation::HasMotifPosition(Int_t manuId) const
{
  /// Uses default implementation
  return AliMpVSegmentation::HasMotifPosition(manuId);
}
 AliMpTriggerSegmentation.cxx:1
 AliMpTriggerSegmentation.cxx:2
 AliMpTriggerSegmentation.cxx:3
 AliMpTriggerSegmentation.cxx:4
 AliMpTriggerSegmentation.cxx:5
 AliMpTriggerSegmentation.cxx:6
 AliMpTriggerSegmentation.cxx:7
 AliMpTriggerSegmentation.cxx:8
 AliMpTriggerSegmentation.cxx:9
 AliMpTriggerSegmentation.cxx:10
 AliMpTriggerSegmentation.cxx:11
 AliMpTriggerSegmentation.cxx:12
 AliMpTriggerSegmentation.cxx:13
 AliMpTriggerSegmentation.cxx:14
 AliMpTriggerSegmentation.cxx:15
 AliMpTriggerSegmentation.cxx:16
 AliMpTriggerSegmentation.cxx:17
 AliMpTriggerSegmentation.cxx:18
 AliMpTriggerSegmentation.cxx:19
 AliMpTriggerSegmentation.cxx:20
 AliMpTriggerSegmentation.cxx:21
 AliMpTriggerSegmentation.cxx:22
 AliMpTriggerSegmentation.cxx:23
 AliMpTriggerSegmentation.cxx:24
 AliMpTriggerSegmentation.cxx:25
 AliMpTriggerSegmentation.cxx:26
 AliMpTriggerSegmentation.cxx:27
 AliMpTriggerSegmentation.cxx:28
 AliMpTriggerSegmentation.cxx:29
 AliMpTriggerSegmentation.cxx:30
 AliMpTriggerSegmentation.cxx:31
 AliMpTriggerSegmentation.cxx:32
 AliMpTriggerSegmentation.cxx:33
 AliMpTriggerSegmentation.cxx:34
 AliMpTriggerSegmentation.cxx:35
 AliMpTriggerSegmentation.cxx:36
 AliMpTriggerSegmentation.cxx:37
 AliMpTriggerSegmentation.cxx:38
 AliMpTriggerSegmentation.cxx:39
 AliMpTriggerSegmentation.cxx:40
 AliMpTriggerSegmentation.cxx:41
 AliMpTriggerSegmentation.cxx:42
 AliMpTriggerSegmentation.cxx:43
 AliMpTriggerSegmentation.cxx:44
 AliMpTriggerSegmentation.cxx:45
 AliMpTriggerSegmentation.cxx:46
 AliMpTriggerSegmentation.cxx:47
 AliMpTriggerSegmentation.cxx:48
 AliMpTriggerSegmentation.cxx:49
 AliMpTriggerSegmentation.cxx:50
 AliMpTriggerSegmentation.cxx:51
 AliMpTriggerSegmentation.cxx:52
 AliMpTriggerSegmentation.cxx:53
 AliMpTriggerSegmentation.cxx:54
 AliMpTriggerSegmentation.cxx:55
 AliMpTriggerSegmentation.cxx:56
 AliMpTriggerSegmentation.cxx:57
 AliMpTriggerSegmentation.cxx:58
 AliMpTriggerSegmentation.cxx:59
 AliMpTriggerSegmentation.cxx:60
 AliMpTriggerSegmentation.cxx:61
 AliMpTriggerSegmentation.cxx:62
 AliMpTriggerSegmentation.cxx:63
 AliMpTriggerSegmentation.cxx:64
 AliMpTriggerSegmentation.cxx:65
 AliMpTriggerSegmentation.cxx:66
 AliMpTriggerSegmentation.cxx:67
 AliMpTriggerSegmentation.cxx:68
 AliMpTriggerSegmentation.cxx:69
 AliMpTriggerSegmentation.cxx:70
 AliMpTriggerSegmentation.cxx:71
 AliMpTriggerSegmentation.cxx:72
 AliMpTriggerSegmentation.cxx:73
 AliMpTriggerSegmentation.cxx:74
 AliMpTriggerSegmentation.cxx:75
 AliMpTriggerSegmentation.cxx:76
 AliMpTriggerSegmentation.cxx:77
 AliMpTriggerSegmentation.cxx:78
 AliMpTriggerSegmentation.cxx:79
 AliMpTriggerSegmentation.cxx:80
 AliMpTriggerSegmentation.cxx:81
 AliMpTriggerSegmentation.cxx:82
 AliMpTriggerSegmentation.cxx:83
 AliMpTriggerSegmentation.cxx:84
 AliMpTriggerSegmentation.cxx:85
 AliMpTriggerSegmentation.cxx:86
 AliMpTriggerSegmentation.cxx:87
 AliMpTriggerSegmentation.cxx:88
 AliMpTriggerSegmentation.cxx:89
 AliMpTriggerSegmentation.cxx:90
 AliMpTriggerSegmentation.cxx:91
 AliMpTriggerSegmentation.cxx:92
 AliMpTriggerSegmentation.cxx:93
 AliMpTriggerSegmentation.cxx:94
 AliMpTriggerSegmentation.cxx:95
 AliMpTriggerSegmentation.cxx:96
 AliMpTriggerSegmentation.cxx:97
 AliMpTriggerSegmentation.cxx:98
 AliMpTriggerSegmentation.cxx:99
 AliMpTriggerSegmentation.cxx:100
 AliMpTriggerSegmentation.cxx:101
 AliMpTriggerSegmentation.cxx:102
 AliMpTriggerSegmentation.cxx:103
 AliMpTriggerSegmentation.cxx:104
 AliMpTriggerSegmentation.cxx:105
 AliMpTriggerSegmentation.cxx:106
 AliMpTriggerSegmentation.cxx:107
 AliMpTriggerSegmentation.cxx:108
 AliMpTriggerSegmentation.cxx:109
 AliMpTriggerSegmentation.cxx:110
 AliMpTriggerSegmentation.cxx:111
 AliMpTriggerSegmentation.cxx:112
 AliMpTriggerSegmentation.cxx:113
 AliMpTriggerSegmentation.cxx:114
 AliMpTriggerSegmentation.cxx:115
 AliMpTriggerSegmentation.cxx:116
 AliMpTriggerSegmentation.cxx:117
 AliMpTriggerSegmentation.cxx:118
 AliMpTriggerSegmentation.cxx:119
 AliMpTriggerSegmentation.cxx:120
 AliMpTriggerSegmentation.cxx:121
 AliMpTriggerSegmentation.cxx:122
 AliMpTriggerSegmentation.cxx:123
 AliMpTriggerSegmentation.cxx:124
 AliMpTriggerSegmentation.cxx:125
 AliMpTriggerSegmentation.cxx:126
 AliMpTriggerSegmentation.cxx:127
 AliMpTriggerSegmentation.cxx:128
 AliMpTriggerSegmentation.cxx:129
 AliMpTriggerSegmentation.cxx:130
 AliMpTriggerSegmentation.cxx:131
 AliMpTriggerSegmentation.cxx:132
 AliMpTriggerSegmentation.cxx:133
 AliMpTriggerSegmentation.cxx:134
 AliMpTriggerSegmentation.cxx:135
 AliMpTriggerSegmentation.cxx:136
 AliMpTriggerSegmentation.cxx:137
 AliMpTriggerSegmentation.cxx:138
 AliMpTriggerSegmentation.cxx:139
 AliMpTriggerSegmentation.cxx:140
 AliMpTriggerSegmentation.cxx:141
 AliMpTriggerSegmentation.cxx:142
 AliMpTriggerSegmentation.cxx:143
 AliMpTriggerSegmentation.cxx:144
 AliMpTriggerSegmentation.cxx:145
 AliMpTriggerSegmentation.cxx:146
 AliMpTriggerSegmentation.cxx:147
 AliMpTriggerSegmentation.cxx:148
 AliMpTriggerSegmentation.cxx:149
 AliMpTriggerSegmentation.cxx:150
 AliMpTriggerSegmentation.cxx:151
 AliMpTriggerSegmentation.cxx:152
 AliMpTriggerSegmentation.cxx:153
 AliMpTriggerSegmentation.cxx:154
 AliMpTriggerSegmentation.cxx:155
 AliMpTriggerSegmentation.cxx:156
 AliMpTriggerSegmentation.cxx:157
 AliMpTriggerSegmentation.cxx:158
 AliMpTriggerSegmentation.cxx:159
 AliMpTriggerSegmentation.cxx:160
 AliMpTriggerSegmentation.cxx:161
 AliMpTriggerSegmentation.cxx:162
 AliMpTriggerSegmentation.cxx:163
 AliMpTriggerSegmentation.cxx:164
 AliMpTriggerSegmentation.cxx:165
 AliMpTriggerSegmentation.cxx:166
 AliMpTriggerSegmentation.cxx:167
 AliMpTriggerSegmentation.cxx:168
 AliMpTriggerSegmentation.cxx:169
 AliMpTriggerSegmentation.cxx:170
 AliMpTriggerSegmentation.cxx:171
 AliMpTriggerSegmentation.cxx:172
 AliMpTriggerSegmentation.cxx:173
 AliMpTriggerSegmentation.cxx:174
 AliMpTriggerSegmentation.cxx:175
 AliMpTriggerSegmentation.cxx:176
 AliMpTriggerSegmentation.cxx:177
 AliMpTriggerSegmentation.cxx:178
 AliMpTriggerSegmentation.cxx:179
 AliMpTriggerSegmentation.cxx:180
 AliMpTriggerSegmentation.cxx:181
 AliMpTriggerSegmentation.cxx:182
 AliMpTriggerSegmentation.cxx:183
 AliMpTriggerSegmentation.cxx:184
 AliMpTriggerSegmentation.cxx:185
 AliMpTriggerSegmentation.cxx:186
 AliMpTriggerSegmentation.cxx:187
 AliMpTriggerSegmentation.cxx:188
 AliMpTriggerSegmentation.cxx:189
 AliMpTriggerSegmentation.cxx:190
 AliMpTriggerSegmentation.cxx:191
 AliMpTriggerSegmentation.cxx:192
 AliMpTriggerSegmentation.cxx:193
 AliMpTriggerSegmentation.cxx:194
 AliMpTriggerSegmentation.cxx:195
 AliMpTriggerSegmentation.cxx:196
 AliMpTriggerSegmentation.cxx:197
 AliMpTriggerSegmentation.cxx:198
 AliMpTriggerSegmentation.cxx:199
 AliMpTriggerSegmentation.cxx:200
 AliMpTriggerSegmentation.cxx:201
 AliMpTriggerSegmentation.cxx:202
 AliMpTriggerSegmentation.cxx:203
 AliMpTriggerSegmentation.cxx:204
 AliMpTriggerSegmentation.cxx:205
 AliMpTriggerSegmentation.cxx:206
 AliMpTriggerSegmentation.cxx:207
 AliMpTriggerSegmentation.cxx:208
 AliMpTriggerSegmentation.cxx:209
 AliMpTriggerSegmentation.cxx:210
 AliMpTriggerSegmentation.cxx:211
 AliMpTriggerSegmentation.cxx:212
 AliMpTriggerSegmentation.cxx:213
 AliMpTriggerSegmentation.cxx:214
 AliMpTriggerSegmentation.cxx:215
 AliMpTriggerSegmentation.cxx:216
 AliMpTriggerSegmentation.cxx:217
 AliMpTriggerSegmentation.cxx:218
 AliMpTriggerSegmentation.cxx:219
 AliMpTriggerSegmentation.cxx:220
 AliMpTriggerSegmentation.cxx:221
 AliMpTriggerSegmentation.cxx:222
 AliMpTriggerSegmentation.cxx:223
 AliMpTriggerSegmentation.cxx:224
 AliMpTriggerSegmentation.cxx:225
 AliMpTriggerSegmentation.cxx:226
 AliMpTriggerSegmentation.cxx:227
 AliMpTriggerSegmentation.cxx:228
 AliMpTriggerSegmentation.cxx:229
 AliMpTriggerSegmentation.cxx:230
 AliMpTriggerSegmentation.cxx:231
 AliMpTriggerSegmentation.cxx:232
 AliMpTriggerSegmentation.cxx:233
 AliMpTriggerSegmentation.cxx:234
 AliMpTriggerSegmentation.cxx:235
 AliMpTriggerSegmentation.cxx:236
 AliMpTriggerSegmentation.cxx:237
 AliMpTriggerSegmentation.cxx:238
 AliMpTriggerSegmentation.cxx:239
 AliMpTriggerSegmentation.cxx:240
 AliMpTriggerSegmentation.cxx:241
 AliMpTriggerSegmentation.cxx:242
 AliMpTriggerSegmentation.cxx:243
 AliMpTriggerSegmentation.cxx:244
 AliMpTriggerSegmentation.cxx:245
 AliMpTriggerSegmentation.cxx:246
 AliMpTriggerSegmentation.cxx:247
 AliMpTriggerSegmentation.cxx:248
 AliMpTriggerSegmentation.cxx:249
 AliMpTriggerSegmentation.cxx:250
 AliMpTriggerSegmentation.cxx:251
 AliMpTriggerSegmentation.cxx:252
 AliMpTriggerSegmentation.cxx:253
 AliMpTriggerSegmentation.cxx:254
 AliMpTriggerSegmentation.cxx:255
 AliMpTriggerSegmentation.cxx:256
 AliMpTriggerSegmentation.cxx:257
 AliMpTriggerSegmentation.cxx:258
 AliMpTriggerSegmentation.cxx:259
 AliMpTriggerSegmentation.cxx:260
 AliMpTriggerSegmentation.cxx:261
 AliMpTriggerSegmentation.cxx:262
 AliMpTriggerSegmentation.cxx:263
 AliMpTriggerSegmentation.cxx:264
 AliMpTriggerSegmentation.cxx:265
 AliMpTriggerSegmentation.cxx:266
 AliMpTriggerSegmentation.cxx:267
 AliMpTriggerSegmentation.cxx:268
 AliMpTriggerSegmentation.cxx:269
 AliMpTriggerSegmentation.cxx:270
 AliMpTriggerSegmentation.cxx:271
 AliMpTriggerSegmentation.cxx:272
 AliMpTriggerSegmentation.cxx:273
 AliMpTriggerSegmentation.cxx:274
 AliMpTriggerSegmentation.cxx:275
 AliMpTriggerSegmentation.cxx:276
 AliMpTriggerSegmentation.cxx:277
 AliMpTriggerSegmentation.cxx:278
 AliMpTriggerSegmentation.cxx:279
 AliMpTriggerSegmentation.cxx:280
 AliMpTriggerSegmentation.cxx:281
 AliMpTriggerSegmentation.cxx:282
 AliMpTriggerSegmentation.cxx:283
 AliMpTriggerSegmentation.cxx:284
 AliMpTriggerSegmentation.cxx:285
 AliMpTriggerSegmentation.cxx:286
 AliMpTriggerSegmentation.cxx:287
 AliMpTriggerSegmentation.cxx:288
 AliMpTriggerSegmentation.cxx:289
 AliMpTriggerSegmentation.cxx:290
 AliMpTriggerSegmentation.cxx:291
 AliMpTriggerSegmentation.cxx:292
 AliMpTriggerSegmentation.cxx:293
 AliMpTriggerSegmentation.cxx:294
 AliMpTriggerSegmentation.cxx:295
 AliMpTriggerSegmentation.cxx:296
 AliMpTriggerSegmentation.cxx:297
 AliMpTriggerSegmentation.cxx:298
 AliMpTriggerSegmentation.cxx:299
 AliMpTriggerSegmentation.cxx:300
 AliMpTriggerSegmentation.cxx:301
 AliMpTriggerSegmentation.cxx:302
 AliMpTriggerSegmentation.cxx:303
 AliMpTriggerSegmentation.cxx:304
 AliMpTriggerSegmentation.cxx:305
 AliMpTriggerSegmentation.cxx:306
 AliMpTriggerSegmentation.cxx:307
 AliMpTriggerSegmentation.cxx:308
 AliMpTriggerSegmentation.cxx:309
 AliMpTriggerSegmentation.cxx:310
 AliMpTriggerSegmentation.cxx:311
 AliMpTriggerSegmentation.cxx:312
 AliMpTriggerSegmentation.cxx:313
 AliMpTriggerSegmentation.cxx:314
 AliMpTriggerSegmentation.cxx:315
 AliMpTriggerSegmentation.cxx:316
 AliMpTriggerSegmentation.cxx:317
 AliMpTriggerSegmentation.cxx:318
 AliMpTriggerSegmentation.cxx:319
 AliMpTriggerSegmentation.cxx:320
 AliMpTriggerSegmentation.cxx:321
 AliMpTriggerSegmentation.cxx:322
 AliMpTriggerSegmentation.cxx:323
 AliMpTriggerSegmentation.cxx:324
 AliMpTriggerSegmentation.cxx:325
 AliMpTriggerSegmentation.cxx:326
 AliMpTriggerSegmentation.cxx:327
 AliMpTriggerSegmentation.cxx:328
 AliMpTriggerSegmentation.cxx:329
 AliMpTriggerSegmentation.cxx:330
 AliMpTriggerSegmentation.cxx:331
 AliMpTriggerSegmentation.cxx:332
 AliMpTriggerSegmentation.cxx:333
 AliMpTriggerSegmentation.cxx:334
 AliMpTriggerSegmentation.cxx:335
 AliMpTriggerSegmentation.cxx:336
 AliMpTriggerSegmentation.cxx:337
 AliMpTriggerSegmentation.cxx:338
 AliMpTriggerSegmentation.cxx:339
 AliMpTriggerSegmentation.cxx:340
 AliMpTriggerSegmentation.cxx:341
 AliMpTriggerSegmentation.cxx:342
 AliMpTriggerSegmentation.cxx:343
 AliMpTriggerSegmentation.cxx:344
 AliMpTriggerSegmentation.cxx:345
 AliMpTriggerSegmentation.cxx:346
 AliMpTriggerSegmentation.cxx:347
 AliMpTriggerSegmentation.cxx:348
 AliMpTriggerSegmentation.cxx:349
 AliMpTriggerSegmentation.cxx:350
 AliMpTriggerSegmentation.cxx:351
 AliMpTriggerSegmentation.cxx:352
 AliMpTriggerSegmentation.cxx:353
 AliMpTriggerSegmentation.cxx:354
 AliMpTriggerSegmentation.cxx:355
 AliMpTriggerSegmentation.cxx:356
 AliMpTriggerSegmentation.cxx:357
 AliMpTriggerSegmentation.cxx:358
 AliMpTriggerSegmentation.cxx:359
 AliMpTriggerSegmentation.cxx:360
 AliMpTriggerSegmentation.cxx:361
 AliMpTriggerSegmentation.cxx:362
 AliMpTriggerSegmentation.cxx:363
 AliMpTriggerSegmentation.cxx:364
 AliMpTriggerSegmentation.cxx:365
 AliMpTriggerSegmentation.cxx:366
 AliMpTriggerSegmentation.cxx:367
 AliMpTriggerSegmentation.cxx:368
 AliMpTriggerSegmentation.cxx:369
 AliMpTriggerSegmentation.cxx:370
 AliMpTriggerSegmentation.cxx:371
 AliMpTriggerSegmentation.cxx:372
 AliMpTriggerSegmentation.cxx:373
 AliMpTriggerSegmentation.cxx:374
 AliMpTriggerSegmentation.cxx:375
 AliMpTriggerSegmentation.cxx:376
 AliMpTriggerSegmentation.cxx:377
 AliMpTriggerSegmentation.cxx:378
 AliMpTriggerSegmentation.cxx:379