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: AliMpFiles.cxx,v 1.12 2006/05/23 13:09:54 ivana Exp $
// Category: basic

//-----------------------------------------------------------------------------
// Class AliMpFiles
// ----------------
// Class for generating file names and paths.
// The input files:
// zones.dat, zones_special.dat - sector description
// motif*.dat   - motif description (generated from Exceed)
// padPos*.dat  - pad positions in motif
//
// Included in AliRoot: 2003/05/02
// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
//-----------------------------------------------------------------------------

#include "AliMpFiles.h"

#include "AliLog.h"

#include <TClass.h>
#include <Riostream.h>

#include <stdlib.h>

using std::endl;
/// \cond CLASSIMP
ClassImp(AliMpFiles)
/// \endcond

//
// static private methods
//

//______________________________________________________________________________
const TString& AliMpFiles::GetDataDir() 
{
  /// data directory
  static const TString kDataDir = "/data";
  return kDataDir;
}  
  
//______________________________________________________________________________
const TString& AliMpFiles::GetDataRunDir() 
{
  /// directory for run dependent data
  static const TString kDataRunDir = "/data_run";
  return kDataRunDir;
}

//______________________________________________________________________________
const TString& AliMpFiles::GetStationDir() 
{
  /// station directory
  static const TString kStationDir = "/station";
  return kStationDir;
}  
  
//______________________________________________________________________________
const TString& AliMpFiles::GetBendingDir() 
{
  /// bending plane directory
  static const TString kBendingDir = "bending_plane/";
  return kBendingDir;
}  
  
//______________________________________________________________________________
const TString& AliMpFiles::GetNonBendingDir() 
{
  /// non-bending plane directory
  static const TString kNonBendingDir = "non-bending_plane/";
  return kNonBendingDir;
}  

//______________________________________________________________________________
const TString& AliMpFiles::GetDENames() 
{
  /// DE names data file name
  static const TString kDENames = "denames"; 
  return kDENames;
}  
  
//______________________________________________________________________________
const TString& AliMpFiles::GetSector() 
{
  /// sector data file name
  static const TString kSector  = "zones"; 
  return kSector;
}  
  
//______________________________________________________________________________
const TString& AliMpFiles::GetSectorSpecial() 
{
  /// sector special data file name
  static const TString kSectorSpecial = "zones_special";
  return kSectorSpecial;
}  
  
//______________________________________________________________________________
const TString& AliMpFiles::GetSectorSpecial2() 
{
  /// sector special data file name
  static const TString kSectorSpecial2 = "zones_special_outer";
  return kSectorSpecial2;
}  

//______________________________________________________________________________
const TString& AliMpFiles::GetMotifPrefix() 
{
  /// motif data file name
  static const TString kMotifPrefix   = "motif"; 
  return kMotifPrefix;
}   
    

//______________________________________________________________________________
const TString& AliMpFiles::GetMotifSpecialPrefix() 
{
  /// special motif data file name 
  static const TString kMotifSpecialPrefix ="motifSpecial";
  return kMotifSpecialPrefix;
}  

//______________________________________________________________________________
const TString& AliMpFiles::GetManuToSerial() 
{
  /// manu to serial file name suffix
  static const TString kManuToSerial ="_manu";
  return kManuToSerial;
}  

//______________________________________________________________________________
const TString& AliMpFiles::GetPadPosPrefix() 
{  
  /// pad position data file name
  static const TString kPadPosPrefix  = "padPos"; 
  return kPadPosPrefix;
}  

//______________________________________________________________________________
const TString& AliMpFiles::GetDataExt() 
{
  /// file extension
  static const TString kDataExt = ".dat"; 
  return kDataExt;
}
       
//______________________________________________________________________________
const TString& AliMpFiles::GetBergToGCFileName() 
{
  /// BergToGC mapping file name
  static const TString kBergToGCFileName = "bergToGC"; 
  return kBergToGCFileName;
}  

//______________________________________________________________________________
const TString& AliMpFiles::GetTriggerLocalBoards() 
{
  ///  local board name to id mapping
  static const TString kTriggerLocalBoards = "RegionalCrate";
  return kTriggerLocalBoards;
}  

//______________________________________________________________________________
const TString& AliMpFiles::GetTriggerGlobalBoards() 
{
  ///  global board name to id mapping
  static const TString kTriggerGlobalBoards = "GlobalCrate";
  return kTriggerGlobalBoards;
}  
  
//______________________________________________________________________________
const TString& AliMpFiles::GetBusPatchFileName() 
{
  /// DetElemIdToBusPatch file name
  static const TString kBusPatchFileName = "DetElemIdToBusPatch";
  return kBusPatchFileName;
}  
  
//______________________________________________________________________________
const TString& AliMpFiles::GetBusPatchInfoFileName() 
{
  /// BusPatch length file name
  static const TString kBusPatchInfoFileName = "BusPatchInfo";
  return kBusPatchInfoFileName;
}  
  
//______________________________________________________________________________
const TString& AliMpFiles::GetBusPatchSpecialFileName() 
{
  /// BusPatch special file name
  static const TString kBusPatchSpecialFileName = "BusPatchSpecial";
  return kBusPatchSpecialFileName;
}  
  
//______________________________________________________________________________
const TString& AliMpFiles::GetSerialToBinFileName() 
{
  /// serial to bin  number file name
  static const TString kSerialToBinFileName = "ManuSerialToBin";
  return kSerialToBinFileName;
}  
  
//
// static public methods
//

//______________________________________________________________________________
TString AliMpFiles::PlaneDataDir(AliMp::StationType station, 
                                 AliMq::Station12Type station12Type,
                                 AliMp::PlaneType plane)
{
/// Returns path to data files with sector description
/// for a specified plane.

  switch (station) {
  case AliMp::kStation12:
    switch (plane) {
    case AliMp::kBendingPlane:
      return GetTop() + GetDataDir() + StationDataDir(station, station12Type) + GetBendingDir();
      ;;
    case AliMp::kNonBendingPlane:   
      return GetTop() + GetDataDir() + StationDataDir(station, station12Type) + GetNonBendingDir();
      ;;
    }   
    break;
  case AliMp::kStation345:
  case AliMp::kStationTrigger:  
    return GetTop() + GetDataDir() + StationDataDir(station, AliMq::kNotSt12);
    break;
  default:  
    AliFatalClass("Incomplete switch on AliMp::PlaneType");
    break;
  }
  return TString();
}

//______________________________________________________________________________
TString AliMpFiles::StationDataDir(AliMp::StationType station,
                                   AliMq::Station12Type station12Type)
{
/// Returns the station directory name for the specified station number.

  TString stationDataDir(GetStationDir());
  switch (station) {
  case AliMp::kStation12: 
    switch (station12Type) {
    case AliMq::kStation1:
      stationDataDir += "1/";
      break;
      ;;
    case AliMq::kStation2:   
      stationDataDir += "2/";
      break;
      ;;
    case AliMq::kNotSt12:   
      AliFatalClass("Incorrect switch on AliMq::Station12Type");
      break;
    }   
    break;
    ;;
  case AliMp::kStation345: 
    stationDataDir += "345/";
    break;
    ;;      
  case AliMp::kStationTrigger:
    stationDataDir += "Trigger/";
    break;
    ;;
  default:
    stationDataDir += "Invalid/";
    break;
  }   
  return stationDataDir;
}

//______________________________________________________________________________
TString AliMpFiles::BusPatchFilePath()
{
/// Return path to data file with bus patch mapping.

  return GetTop() + GetDataDir() + "/" + GetBusPatchFileName() + GetDataExt();
}  

//______________________________________________________________________________
TString AliMpFiles::BusPatchInfoFilePath()
{
/// Return path to data file with bus patch mapping.

  return GetTop() + GetDataDir() + "/" + GetBusPatchInfoFileName() + GetDataExt();
}  

//______________________________________________________________________________
TString AliMpFiles::BusPatchSpecialFilePath()
{
/// Return path to data file with special bus patch mapping.

  return GetTop() + GetDataDir() + "/" + GetBusPatchSpecialFileName() + GetDataExt();
}  

//______________________________________________________________________________
TString AliMpFiles::SerialToBinFilePath()
{
/// Return path to data file containing manu serial numbers with their bin.

  return GetTop() + GetDataDir() + "/" + GetSerialToBinFileName() + GetDataExt();
}  


//______________________________________________________________________________
TString AliMpFiles::DENamesFilePath(AliMp::StationType station,
                                    AliMq::Station12Type station12Type)
{
/// Return path to data file with DE names for given station.
 
  return GetTop() + GetDataDir() + StationDataDir(station, station12Type) 
           + GetDENames() + GetDataExt();
}

//______________________________________________________________________________
TString AliMpFiles::LocalTriggerBoardMapping()
{
/// Return path to data file with local trigger board mapping.

  return GetTop() + GetDataDir() 
          + StationDataDir(AliMp::kStationTrigger, AliMq::kNotSt12) 
          + GetTriggerLocalBoards() + GetDataExt();;
}

//______________________________________________________________________________
TString AliMpFiles::GlobalTriggerBoardMapping()
{
/// Return path to data file with local trigger board mapping.

  return GetTop() + GetDataDir() 
      + StationDataDir(AliMp::kStationTrigger, AliMq::kNotSt12) 
      + GetTriggerGlobalBoards() + GetDataExt();;
}

//_____________________________________________________________________________
TString AliMpFiles::SlatFilePath(AliMp::StationType stationType,
                                 const char* slatType,
                                 AliMp::PlaneType plane)
{
/// \todo add ..

  return TString(PlaneDataDir(stationType, AliMq::kNotSt12, plane) 
                 + slatType + "." +
		 ( plane == AliMp::kNonBendingPlane ? "NonBending":"Bending" ) + ".slat");
}

//_____________________________________________________________________________
TString AliMpFiles::SlatPCBFilePath(AliMp::StationType stationType,
                                    const char* pcbType)
{
/// Get the full path for a given PCB (only relevant to stations 3,
/// 4, 5 and trigger). The bending parameter below is of no use in this case, but
/// we use it to re-use the PlaneDataDir() method untouched.

  return TString(PlaneDataDir(stationType, AliMq::kNotSt12, AliMp::kNonBendingPlane) 
                 + pcbType + ".pcb");
}

//______________________________________________________________________________
TString AliMpFiles::SectorFilePath(AliMq::Station12Type station12Type, 
                                   AliMp::PlaneType plane)
{
/// Return path to data file with sector description.
 
  return TString(PlaneDataDir(AliMp::kStation12, station12Type, plane) 
                 + GetSector() + GetDataExt());
}
    
//______________________________________________________________________________
TString AliMpFiles::SectorSpecialFilePath(AliMq::Station12Type station12Type,
                                          AliMp::PlaneType plane)
{
/// Return path to data file with sector special description (irregular motifs).

  return TString(PlaneDataDir(AliMp::kStation12, station12Type, plane) 
                 + GetSectorSpecial() + GetDataExt());
}
    
//______________________________________________________________________________
TString AliMpFiles::SectorSpecialFilePath2(AliMq::Station12Type station12Type, 
                                           AliMp::PlaneType plane)
{
/// Returns path to data file with sector special description (irregular motifs).

  return TString(PlaneDataDir(AliMp::kStation12, station12Type, plane) 
                 + GetSectorSpecial2() + GetDataExt());
}

//______________________________________________________________________________
TString AliMpFiles::MotifFileName(const TString& motifTypeID)
{
  /// Returns name of data file for a given motif type.
  
  return TString(GetMotifPrefix() +  motifTypeID + GetDataExt());
}

//______________________________________________________________________________
TString AliMpFiles::MotifFilePath(AliMp::StationType station, 
                                  AliMq::Station12Type station12Type,
                                  AliMp::PlaneType plane, 
                                  const TString& motifTypeID)
{
/// Returns path to data file for a given motif type.

  return TString(PlaneDataDir(station, station12Type, plane) 
                 + MotifFileName(motifTypeID));
}

//______________________________________________________________________________
TString AliMpFiles::PadPosFileName(const TString& motifTypeID)
{
  /// Returns name of data file with pad positions for a given motif type.
  
  return TString(GetPadPosPrefix() +  motifTypeID + GetDataExt());
}

//______________________________________________________________________________
TString AliMpFiles::PadPosFilePath(AliMp::StationType station, 
                                   AliMq::Station12Type station12Type,
                                   AliMp::PlaneType plane, 
                                   const TString& motifTypeID)
{
/// Returns path to data file with pad positions for a given motif type.

  return TString(PlaneDataDir(station, station12Type, plane) 
                 + PadPosFileName(motifTypeID));
}

//______________________________________________________________________________ 
TString AliMpFiles::MotifSpecialFileName(const TString& motifID)
{
  /// Returns name of data file with pad dimensions for a given motif ID.
  
  return TString(GetMotifSpecialPrefix() + motifID + GetDataExt());
  
}

//______________________________________________________________________________ 
TString AliMpFiles::MotifSpecialFilePath(AliMp::StationType station, 
                                         AliMq::Station12Type station12Type,
                                         AliMp::PlaneType plane,
                                         const TString& motifID)
{
/// Returns path to data file with pad dimensions for a given motif ID.

  return TString(PlaneDataDir(station, station12Type, plane) 
                 + MotifSpecialFileName(motifID));
}

//______________________________________________________________________________ 
TString AliMpFiles::BergToGCFilePath(AliMp::StationType station,
                                     AliMq::Station12Type station12Type)
{
/// Returns the path of the file which describes the correspondance between
/// the berg number and the gassiplex channel.

  return GetTop() + GetDataDir() + StationDataDir(station, station12Type)
              + GetBergToGCFileName() + GetDataExt();
}

//______________________________________________________________________________ 
TString AliMpFiles::ManuToSerialPath(const TString& deName, 
                                     AliMp::StationType station,
                                     AliMq::Station12Type station12Type)
{
/// Returns the path of the file for the manu id to their serial number

  return  GetTop() + GetDataRunDir() + StationDataDir(station, station12Type)
              + deName + GetManuToSerial() + GetDataExt(); 
}


//______________________________________________________________________________ 
void 
AliMpFiles::SetTopPath(const TString& topPath)
{ 
/// Set top file path

  GetTop() = topPath; 
}

//______________________________________________________________________________
TString AliMpFiles::GetTop()
{
/// Return top path to mapping data defined either via MINSTALL
/// or ALICE_ROOT environment variable.                                      \n
/// If both variables are defined, MINSTALL is used.

  TString top = getenv("MINSTALL");    
  if ( ! top.IsNull() ) return top;

  TString ntop = getenv("ALICE_ROOT");
  if ( ntop.IsNull() ) {
    AliErrorClassStream() << "Cannot find path to mapping data." << endl;
    return ntop;
  }  
  ntop += "/MUON/mapping";
  return ntop;
}

//
// ctors, dtor
//

//______________________________________________________________________________
AliMpFiles::~AliMpFiles() 
{
/// Destructor
}

 AliMpFiles.cxx:1
 AliMpFiles.cxx:2
 AliMpFiles.cxx:3
 AliMpFiles.cxx:4
 AliMpFiles.cxx:5
 AliMpFiles.cxx:6
 AliMpFiles.cxx:7
 AliMpFiles.cxx:8
 AliMpFiles.cxx:9
 AliMpFiles.cxx:10
 AliMpFiles.cxx:11
 AliMpFiles.cxx:12
 AliMpFiles.cxx:13
 AliMpFiles.cxx:14
 AliMpFiles.cxx:15
 AliMpFiles.cxx:16
 AliMpFiles.cxx:17
 AliMpFiles.cxx:18
 AliMpFiles.cxx:19
 AliMpFiles.cxx:20
 AliMpFiles.cxx:21
 AliMpFiles.cxx:22
 AliMpFiles.cxx:23
 AliMpFiles.cxx:24
 AliMpFiles.cxx:25
 AliMpFiles.cxx:26
 AliMpFiles.cxx:27
 AliMpFiles.cxx:28
 AliMpFiles.cxx:29
 AliMpFiles.cxx:30
 AliMpFiles.cxx:31
 AliMpFiles.cxx:32
 AliMpFiles.cxx:33
 AliMpFiles.cxx:34
 AliMpFiles.cxx:35
 AliMpFiles.cxx:36
 AliMpFiles.cxx:37
 AliMpFiles.cxx:38
 AliMpFiles.cxx:39
 AliMpFiles.cxx:40
 AliMpFiles.cxx:41
 AliMpFiles.cxx:42
 AliMpFiles.cxx:43
 AliMpFiles.cxx:44
 AliMpFiles.cxx:45
 AliMpFiles.cxx:46
 AliMpFiles.cxx:47
 AliMpFiles.cxx:48
 AliMpFiles.cxx:49
 AliMpFiles.cxx:50
 AliMpFiles.cxx:51
 AliMpFiles.cxx:52
 AliMpFiles.cxx:53
 AliMpFiles.cxx:54
 AliMpFiles.cxx:55
 AliMpFiles.cxx:56
 AliMpFiles.cxx:57
 AliMpFiles.cxx:58
 AliMpFiles.cxx:59
 AliMpFiles.cxx:60
 AliMpFiles.cxx:61
 AliMpFiles.cxx:62
 AliMpFiles.cxx:63
 AliMpFiles.cxx:64
 AliMpFiles.cxx:65
 AliMpFiles.cxx:66
 AliMpFiles.cxx:67
 AliMpFiles.cxx:68
 AliMpFiles.cxx:69
 AliMpFiles.cxx:70
 AliMpFiles.cxx:71
 AliMpFiles.cxx:72
 AliMpFiles.cxx:73
 AliMpFiles.cxx:74
 AliMpFiles.cxx:75
 AliMpFiles.cxx:76
 AliMpFiles.cxx:77
 AliMpFiles.cxx:78
 AliMpFiles.cxx:79
 AliMpFiles.cxx:80
 AliMpFiles.cxx:81
 AliMpFiles.cxx:82
 AliMpFiles.cxx:83
 AliMpFiles.cxx:84
 AliMpFiles.cxx:85
 AliMpFiles.cxx:86
 AliMpFiles.cxx:87
 AliMpFiles.cxx:88
 AliMpFiles.cxx:89
 AliMpFiles.cxx:90
 AliMpFiles.cxx:91
 AliMpFiles.cxx:92
 AliMpFiles.cxx:93
 AliMpFiles.cxx:94
 AliMpFiles.cxx:95
 AliMpFiles.cxx:96
 AliMpFiles.cxx:97
 AliMpFiles.cxx:98
 AliMpFiles.cxx:99
 AliMpFiles.cxx:100
 AliMpFiles.cxx:101
 AliMpFiles.cxx:102
 AliMpFiles.cxx:103
 AliMpFiles.cxx:104
 AliMpFiles.cxx:105
 AliMpFiles.cxx:106
 AliMpFiles.cxx:107
 AliMpFiles.cxx:108
 AliMpFiles.cxx:109
 AliMpFiles.cxx:110
 AliMpFiles.cxx:111
 AliMpFiles.cxx:112
 AliMpFiles.cxx:113
 AliMpFiles.cxx:114
 AliMpFiles.cxx:115
 AliMpFiles.cxx:116
 AliMpFiles.cxx:117
 AliMpFiles.cxx:118
 AliMpFiles.cxx:119
 AliMpFiles.cxx:120
 AliMpFiles.cxx:121
 AliMpFiles.cxx:122
 AliMpFiles.cxx:123
 AliMpFiles.cxx:124
 AliMpFiles.cxx:125
 AliMpFiles.cxx:126
 AliMpFiles.cxx:127
 AliMpFiles.cxx:128
 AliMpFiles.cxx:129
 AliMpFiles.cxx:130
 AliMpFiles.cxx:131
 AliMpFiles.cxx:132
 AliMpFiles.cxx:133
 AliMpFiles.cxx:134
 AliMpFiles.cxx:135
 AliMpFiles.cxx:136
 AliMpFiles.cxx:137
 AliMpFiles.cxx:138
 AliMpFiles.cxx:139
 AliMpFiles.cxx:140
 AliMpFiles.cxx:141
 AliMpFiles.cxx:142
 AliMpFiles.cxx:143
 AliMpFiles.cxx:144
 AliMpFiles.cxx:145
 AliMpFiles.cxx:146
 AliMpFiles.cxx:147
 AliMpFiles.cxx:148
 AliMpFiles.cxx:149
 AliMpFiles.cxx:150
 AliMpFiles.cxx:151
 AliMpFiles.cxx:152
 AliMpFiles.cxx:153
 AliMpFiles.cxx:154
 AliMpFiles.cxx:155
 AliMpFiles.cxx:156
 AliMpFiles.cxx:157
 AliMpFiles.cxx:158
 AliMpFiles.cxx:159
 AliMpFiles.cxx:160
 AliMpFiles.cxx:161
 AliMpFiles.cxx:162
 AliMpFiles.cxx:163
 AliMpFiles.cxx:164
 AliMpFiles.cxx:165
 AliMpFiles.cxx:166
 AliMpFiles.cxx:167
 AliMpFiles.cxx:168
 AliMpFiles.cxx:169
 AliMpFiles.cxx:170
 AliMpFiles.cxx:171
 AliMpFiles.cxx:172
 AliMpFiles.cxx:173
 AliMpFiles.cxx:174
 AliMpFiles.cxx:175
 AliMpFiles.cxx:176
 AliMpFiles.cxx:177
 AliMpFiles.cxx:178
 AliMpFiles.cxx:179
 AliMpFiles.cxx:180
 AliMpFiles.cxx:181
 AliMpFiles.cxx:182
 AliMpFiles.cxx:183
 AliMpFiles.cxx:184
 AliMpFiles.cxx:185
 AliMpFiles.cxx:186
 AliMpFiles.cxx:187
 AliMpFiles.cxx:188
 AliMpFiles.cxx:189
 AliMpFiles.cxx:190
 AliMpFiles.cxx:191
 AliMpFiles.cxx:192
 AliMpFiles.cxx:193
 AliMpFiles.cxx:194
 AliMpFiles.cxx:195
 AliMpFiles.cxx:196
 AliMpFiles.cxx:197
 AliMpFiles.cxx:198
 AliMpFiles.cxx:199
 AliMpFiles.cxx:200
 AliMpFiles.cxx:201
 AliMpFiles.cxx:202
 AliMpFiles.cxx:203
 AliMpFiles.cxx:204
 AliMpFiles.cxx:205
 AliMpFiles.cxx:206
 AliMpFiles.cxx:207
 AliMpFiles.cxx:208
 AliMpFiles.cxx:209
 AliMpFiles.cxx:210
 AliMpFiles.cxx:211
 AliMpFiles.cxx:212
 AliMpFiles.cxx:213
 AliMpFiles.cxx:214
 AliMpFiles.cxx:215
 AliMpFiles.cxx:216
 AliMpFiles.cxx:217
 AliMpFiles.cxx:218
 AliMpFiles.cxx:219
 AliMpFiles.cxx:220
 AliMpFiles.cxx:221
 AliMpFiles.cxx:222
 AliMpFiles.cxx:223
 AliMpFiles.cxx:224
 AliMpFiles.cxx:225
 AliMpFiles.cxx:226
 AliMpFiles.cxx:227
 AliMpFiles.cxx:228
 AliMpFiles.cxx:229
 AliMpFiles.cxx:230
 AliMpFiles.cxx:231
 AliMpFiles.cxx:232
 AliMpFiles.cxx:233
 AliMpFiles.cxx:234
 AliMpFiles.cxx:235
 AliMpFiles.cxx:236
 AliMpFiles.cxx:237
 AliMpFiles.cxx:238
 AliMpFiles.cxx:239
 AliMpFiles.cxx:240
 AliMpFiles.cxx:241
 AliMpFiles.cxx:242
 AliMpFiles.cxx:243
 AliMpFiles.cxx:244
 AliMpFiles.cxx:245
 AliMpFiles.cxx:246
 AliMpFiles.cxx:247
 AliMpFiles.cxx:248
 AliMpFiles.cxx:249
 AliMpFiles.cxx:250
 AliMpFiles.cxx:251
 AliMpFiles.cxx:252
 AliMpFiles.cxx:253
 AliMpFiles.cxx:254
 AliMpFiles.cxx:255
 AliMpFiles.cxx:256
 AliMpFiles.cxx:257
 AliMpFiles.cxx:258
 AliMpFiles.cxx:259
 AliMpFiles.cxx:260
 AliMpFiles.cxx:261
 AliMpFiles.cxx:262
 AliMpFiles.cxx:263
 AliMpFiles.cxx:264
 AliMpFiles.cxx:265
 AliMpFiles.cxx:266
 AliMpFiles.cxx:267
 AliMpFiles.cxx:268
 AliMpFiles.cxx:269
 AliMpFiles.cxx:270
 AliMpFiles.cxx:271
 AliMpFiles.cxx:272
 AliMpFiles.cxx:273
 AliMpFiles.cxx:274
 AliMpFiles.cxx:275
 AliMpFiles.cxx:276
 AliMpFiles.cxx:277
 AliMpFiles.cxx:278
 AliMpFiles.cxx:279
 AliMpFiles.cxx:280
 AliMpFiles.cxx:281
 AliMpFiles.cxx:282
 AliMpFiles.cxx:283
 AliMpFiles.cxx:284
 AliMpFiles.cxx:285
 AliMpFiles.cxx:286
 AliMpFiles.cxx:287
 AliMpFiles.cxx:288
 AliMpFiles.cxx:289
 AliMpFiles.cxx:290
 AliMpFiles.cxx:291
 AliMpFiles.cxx:292
 AliMpFiles.cxx:293
 AliMpFiles.cxx:294
 AliMpFiles.cxx:295
 AliMpFiles.cxx:296
 AliMpFiles.cxx:297
 AliMpFiles.cxx:298
 AliMpFiles.cxx:299
 AliMpFiles.cxx:300
 AliMpFiles.cxx:301
 AliMpFiles.cxx:302
 AliMpFiles.cxx:303
 AliMpFiles.cxx:304
 AliMpFiles.cxx:305
 AliMpFiles.cxx:306
 AliMpFiles.cxx:307
 AliMpFiles.cxx:308
 AliMpFiles.cxx:309
 AliMpFiles.cxx:310
 AliMpFiles.cxx:311
 AliMpFiles.cxx:312
 AliMpFiles.cxx:313
 AliMpFiles.cxx:314
 AliMpFiles.cxx:315
 AliMpFiles.cxx:316
 AliMpFiles.cxx:317
 AliMpFiles.cxx:318
 AliMpFiles.cxx:319
 AliMpFiles.cxx:320
 AliMpFiles.cxx:321
 AliMpFiles.cxx:322
 AliMpFiles.cxx:323
 AliMpFiles.cxx:324
 AliMpFiles.cxx:325
 AliMpFiles.cxx:326
 AliMpFiles.cxx:327
 AliMpFiles.cxx:328
 AliMpFiles.cxx:329
 AliMpFiles.cxx:330
 AliMpFiles.cxx:331
 AliMpFiles.cxx:332
 AliMpFiles.cxx:333
 AliMpFiles.cxx:334
 AliMpFiles.cxx:335
 AliMpFiles.cxx:336
 AliMpFiles.cxx:337
 AliMpFiles.cxx:338
 AliMpFiles.cxx:339
 AliMpFiles.cxx:340
 AliMpFiles.cxx:341
 AliMpFiles.cxx:342
 AliMpFiles.cxx:343
 AliMpFiles.cxx:344
 AliMpFiles.cxx:345
 AliMpFiles.cxx:346
 AliMpFiles.cxx:347
 AliMpFiles.cxx:348
 AliMpFiles.cxx:349
 AliMpFiles.cxx:350
 AliMpFiles.cxx:351
 AliMpFiles.cxx:352
 AliMpFiles.cxx:353
 AliMpFiles.cxx:354
 AliMpFiles.cxx:355
 AliMpFiles.cxx:356
 AliMpFiles.cxx:357
 AliMpFiles.cxx:358
 AliMpFiles.cxx:359
 AliMpFiles.cxx:360
 AliMpFiles.cxx:361
 AliMpFiles.cxx:362
 AliMpFiles.cxx:363
 AliMpFiles.cxx:364
 AliMpFiles.cxx:365
 AliMpFiles.cxx:366
 AliMpFiles.cxx:367
 AliMpFiles.cxx:368
 AliMpFiles.cxx:369
 AliMpFiles.cxx:370
 AliMpFiles.cxx:371
 AliMpFiles.cxx:372
 AliMpFiles.cxx:373
 AliMpFiles.cxx:374
 AliMpFiles.cxx:375
 AliMpFiles.cxx:376
 AliMpFiles.cxx:377
 AliMpFiles.cxx:378
 AliMpFiles.cxx:379
 AliMpFiles.cxx:380
 AliMpFiles.cxx:381
 AliMpFiles.cxx:382
 AliMpFiles.cxx:383
 AliMpFiles.cxx:384
 AliMpFiles.cxx:385
 AliMpFiles.cxx:386
 AliMpFiles.cxx:387
 AliMpFiles.cxx:388
 AliMpFiles.cxx:389
 AliMpFiles.cxx:390
 AliMpFiles.cxx:391
 AliMpFiles.cxx:392
 AliMpFiles.cxx:393
 AliMpFiles.cxx:394
 AliMpFiles.cxx:395
 AliMpFiles.cxx:396
 AliMpFiles.cxx:397
 AliMpFiles.cxx:398
 AliMpFiles.cxx:399
 AliMpFiles.cxx:400
 AliMpFiles.cxx:401
 AliMpFiles.cxx:402
 AliMpFiles.cxx:403
 AliMpFiles.cxx:404
 AliMpFiles.cxx:405
 AliMpFiles.cxx:406
 AliMpFiles.cxx:407
 AliMpFiles.cxx:408
 AliMpFiles.cxx:409
 AliMpFiles.cxx:410
 AliMpFiles.cxx:411
 AliMpFiles.cxx:412
 AliMpFiles.cxx:413
 AliMpFiles.cxx:414
 AliMpFiles.cxx:415
 AliMpFiles.cxx:416
 AliMpFiles.cxx:417
 AliMpFiles.cxx:418
 AliMpFiles.cxx:419
 AliMpFiles.cxx:420
 AliMpFiles.cxx:421
 AliMpFiles.cxx:422
 AliMpFiles.cxx:423
 AliMpFiles.cxx:424
 AliMpFiles.cxx:425
 AliMpFiles.cxx:426
 AliMpFiles.cxx:427
 AliMpFiles.cxx:428
 AliMpFiles.cxx:429
 AliMpFiles.cxx:430
 AliMpFiles.cxx:431
 AliMpFiles.cxx:432
 AliMpFiles.cxx:433
 AliMpFiles.cxx:434
 AliMpFiles.cxx:435
 AliMpFiles.cxx:436
 AliMpFiles.cxx:437
 AliMpFiles.cxx:438
 AliMpFiles.cxx:439
 AliMpFiles.cxx:440
 AliMpFiles.cxx:441
 AliMpFiles.cxx:442
 AliMpFiles.cxx:443
 AliMpFiles.cxx:444
 AliMpFiles.cxx:445
 AliMpFiles.cxx:446
 AliMpFiles.cxx:447
 AliMpFiles.cxx:448
 AliMpFiles.cxx:449
 AliMpFiles.cxx:450
 AliMpFiles.cxx:451
 AliMpFiles.cxx:452
 AliMpFiles.cxx:453
 AliMpFiles.cxx:454
 AliMpFiles.cxx:455
 AliMpFiles.cxx:456
 AliMpFiles.cxx:457
 AliMpFiles.cxx:458
 AliMpFiles.cxx:459
 AliMpFiles.cxx:460
 AliMpFiles.cxx:461
 AliMpFiles.cxx:462
 AliMpFiles.cxx:463
 AliMpFiles.cxx:464
 AliMpFiles.cxx:465
 AliMpFiles.cxx:466
 AliMpFiles.cxx:467
 AliMpFiles.cxx:468
 AliMpFiles.cxx:469
 AliMpFiles.cxx:470
 AliMpFiles.cxx:471
 AliMpFiles.cxx:472
 AliMpFiles.cxx:473
 AliMpFiles.cxx:474
 AliMpFiles.cxx:475
 AliMpFiles.cxx:476
 AliMpFiles.cxx:477
 AliMpFiles.cxx:478
 AliMpFiles.cxx:479
 AliMpFiles.cxx:480
 AliMpFiles.cxx:481
 AliMpFiles.cxx:482
 AliMpFiles.cxx:483
 AliMpFiles.cxx:484
 AliMpFiles.cxx:485
 AliMpFiles.cxx:486
 AliMpFiles.cxx:487
 AliMpFiles.cxx:488
 AliMpFiles.cxx:489
 AliMpFiles.cxx:490
 AliMpFiles.cxx:491
 AliMpFiles.cxx:492
 AliMpFiles.cxx:493
 AliMpFiles.cxx:494
 AliMpFiles.cxx:495
 AliMpFiles.cxx:496
 AliMpFiles.cxx:497
 AliMpFiles.cxx:498
 AliMpFiles.cxx:499
 AliMpFiles.cxx:500
 AliMpFiles.cxx:501
 AliMpFiles.cxx:502
 AliMpFiles.cxx:503
 AliMpFiles.cxx:504
 AliMpFiles.cxx:505
 AliMpFiles.cxx:506
 AliMpFiles.cxx:507
 AliMpFiles.cxx:508
 AliMpFiles.cxx:509
 AliMpFiles.cxx:510
 AliMpFiles.cxx:511
 AliMpFiles.cxx:512
 AliMpFiles.cxx:513
 AliMpFiles.cxx:514
 AliMpFiles.cxx:515
 AliMpFiles.cxx:516
 AliMpFiles.cxx:517
 AliMpFiles.cxx:518
 AliMpFiles.cxx:519
 AliMpFiles.cxx:520
 AliMpFiles.cxx:521
 AliMpFiles.cxx:522
 AliMpFiles.cxx:523
 AliMpFiles.cxx:524
 AliMpFiles.cxx:525
 AliMpFiles.cxx:526
 AliMpFiles.cxx:527
 AliMpFiles.cxx:528
 AliMpFiles.cxx:529
 AliMpFiles.cxx:530
 AliMpFiles.cxx:531