ROOT logo
/**************************************************************************
 * Copyright(c) 2004, 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$ */
/** @file    AliFMDBaseDigitizer.cxx
    @author  Christian Holm Christensen <cholm@nbi.dk>
    @date    Mon Mar 27 12:38:26 2006
    @brief   FMD Digitizers implementation
    @ingroup FMD_sim
*/
//////////////////////////////////////////////////////////////////////////////
//
//  This class contains the procedures simulation ADC  signal for the
//  Forward Multiplicity detector  : Hits->Digits and Hits->SDigits
// 
//  Digits consists of
//   - Detector #
//   - Ring ID                                             
//   - Sector #     
//   - Strip #
//   - ADC count in this channel                                  
//
//  Digits consists of
//   - Detector #
//   - Ring ID                                             
//   - Sector #     
//   - Strip #
//   - Total energy deposited in the strip
//   - ADC count in this channel                                  
//
// As the Digits and SDigits have so much in common, the classes
// AliFMDDigitizer and AliFMDSDigitizer are implemented via a base
// class AliFMDBaseDigitizer.
//
//                 +---------------------+
//                 | AliFMDBaseDigitizer |
//                 +---------------------+
//                           ^
//                           |
//                +----------+---------+
//                |                    |
//      +-----------------+     +------------------+
//      | AliFMDDigitizer |	| AliFMDSDigitizer |
//      +-----------------+	+------------------+
//
// These classes has several paramters: 
//
//     fPedestal
//     fPedestalWidth
//         (Only AliFMDDigitizer)
//         Mean and width of the pedestal.  The pedestal is simulated
//         by a Guassian, but derived classes my override MakePedestal
//         to simulate it differently (or pick it up from a database).
//
//     fVA1MipRange
//         The dymamic MIP range of the VA1_ALICE pre-amplifier chip 
//
//     fAltroChannelSize
//         The largest number plus one that can be stored in one
//         channel in one time step in the ALTRO ADC chip. 
//
//     fSampleRate
//         How many times the ALTRO ADC chip samples the VA1_ALICE
//         pre-amplifier signal.   The VA1_ALICE chip is read-out at
//         10MHz, while it's possible to drive the ALTRO chip at
//         25MHz.  That means, that the ALTRO chip can have time to
//         sample each VA1_ALICE signal up to 2 times.  Although it's
//         not certain this feature will be used in the production,
//         we'd like have the option, and so it should be reflected in
//         the code.
//
//
// The shaping function of the VA1_ALICE is generally given by 
//
//      f(x) = A(1 - exp(-Bx))
//
// where A is the total charge collected in the pre-amp., and B is a
// paramter that depends on the shaping time of the VA1_ALICE circut.
// 
// When simulating the shaping function of the VA1_ALICe
// pre-amp. chip, we have to take into account, that the shaping
// function depends on the previous value of read from the pre-amp. 
//
// That results in the following algorithm:
//
//    last = 0;
//    FOR charge IN pre-amp. charge train DO 
//      IF last < charge THEN 
//        f(t) = (charge - last) * (1 - exp(-B * t)) + last
//      ELSE
//        f(t) = (last - charge) * exp(-B * t) + charge)
//      ENDIF
//      FOR i IN # samples DO 
//        adc_i = f(i / (# samples))
//      DONE
//      last = charge
//   DONE
//
// Here, 
//
//   pre-amp. charge train 
//       is a series of 128 charges read from the VA1_ALICE chip
//
//   # samples
//       is the number of times the ALTRO ADC samples each of the 128
//       charges from the pre-amp. 
//
// Where Q is the total charge collected by the VA1_ALICE
// pre-amplifier.   Q is then given by 
//
//           E S 
//      Q =  - -
//           e R
//
// where E is the total energy deposited in a silicon strip, R is the
// dynamic range of the VA1_ALICE pre-amp (fVA1MipRange), e is the
// energy deposited by a single MIP, and S ALTRO channel size in each
// time step (fAltroChannelSize).  
//
// The energy deposited per MIP is given by 
//
//      e = M * rho * w 
//
// where M is the universal number 1.664, rho is the density of
// silicon, and w is the depth of the silicon sensor. 
//
// The final ADC count is given by 
//
//      C' = C + P
//
// where P is the (randomized) pedestal (see MakePedestal)
//
// This class uses the class template AliFMDMap<Type> to make an
// internal cache of the energy deposted of the hits.  The class
// template is instantasized as 
//
//  typedef AliFMDMap<std::pair<Float_t, UShort_t> > AliFMDEdepMap;
//
// The first member of the values is the summed energy deposition in a
// given strip, while the second member of the values is the number of
// hits in a given strip.  Using the second member, it's possible to
// do some checks on just how many times a strip got hit, and what
// kind of error we get in our reconstructed hits.  Note, that this
// information is currently not written to the digits tree.  I think a
// QA (Quality Assurance) digit tree is better suited for that task.
// However, the information is there to be used in the future. 
//
//
// Latest changes by Christian Holm Christensen
//
//////////////////////////////////////////////////////////////////////////////

//      /1
//      |           A(-1 + B + exp(-B))
//      | f(x) dx = ------------------- = 1
//      |                    B
//      / 0
//
// and B is the a parameter defined by the shaping time (fShapingTime).  
//
// Solving the above equation, for A gives
//
//                 B
//      A = ----------------
//          -1 + B + exp(-B)
//
// So, if we define the function g: [0,1] -> [0:1] by 
//
//               / v
//               |              Bu + exp(-Bu) - Bv - exp(-Bv) 
//      g(u,v) = | f(x) dx = -A -----------------------------
//               |                            B
//               / u
//
// we can evaluate the ALTRO sample of the VA1_ALICE pre-amp between
// any two times (u, v), by 
//       
//
//                                B	    Bu + exp(-Bu) - Bv - exp(-Bv)
//      C = Q g(u,v) = - Q ---------------- -----------------------------
//		           -1 + B + exp(-B)              B	            
//
//               Bu + exp(-Bu) - Bv - exp(-Bv) 
//        = -  Q -----------------------------
//                    -1 + B + exp(-B)
//

#include <TMath.h>
#include <TTree.h>		// ROOT_TTree
//#include <TRandom.h>		// ROOT_TRandom
// #include <AliLog.h>		// ALILOG_H
#include "AliFMDDebug.h" // Better debug macros
#include "AliFMDBaseDigitizer.h" // ALIFMDDIGITIZER_H
#include "AliFMD.h"		// ALIFMD_H
#include "AliFMDGeometry.h"	// ALIFMDGEOMETRY_H
#include "AliFMDDetector.h"	// ALIFMDDETECTOR_H
#include "AliFMDRing.h"	        // ALIFMDRING_H
#include "AliFMDHit.h"		// ALIFMDHIT_H
// #include "AliFMDDigit.h"	// ALIFMDDIGIT_H
#include "AliFMDParameters.h"   // ALIFMDPARAMETERS_H
// #include <AliDigitizationInput.h>	// ALIRUNDIGITIZER_H
//#include <AliRun.h>		// ALIRUN_H
#include <AliLoader.h>		// ALILOADER_H
#include <AliRun.h>		// ALILOADER_H
#include <AliRunLoader.h>	// ALIRUNLOADER_H
#include <TRandom.h>
    
//====================================================================
ClassImp(AliFMDBaseDigitizer)
#if 0
  ; // This is here to keep Emacs for indenting the next line
#endif

//____________________________________________________________________
AliFMDBaseDigitizer::AliFMDBaseDigitizer()  
  : fFMD(0),
    fRunLoader(0),
    fEdep(AliFMDMap::kMaxDetectors, 
	  AliFMDMap::kMaxRings, 
	  AliFMDMap::kMaxSectors, 
	  AliFMDMap::kMaxStrips),
    fShapingTime(6),
    fStoreTrackRefs(kTRUE), 
    fIgnoredLabels(0)
{
  AliFMDDebug(1, ("Constructed"));
  // Default ctor - don't use it
}

//____________________________________________________________________
AliFMDBaseDigitizer::AliFMDBaseDigitizer(AliDigitizationInput* digInput) 
  : AliDigitizer(digInput, "AliFMDBaseDigitizer", "FMD Digitizer base class"), 
    fFMD(0),
    fRunLoader(0),
    fEdep(0),        // nDet==0 means 51200 slots
    fShapingTime(6),
    fStoreTrackRefs(kTRUE), 
    fIgnoredLabels(0)
{
  // Normal CTOR
  AliFMDDebug(1, ("Constructed"));
  SetShapingTime();
}

//____________________________________________________________________
AliFMDBaseDigitizer::AliFMDBaseDigitizer(const Char_t* name, 
					 const Char_t* title) 
  : AliDigitizer(name, title),
    fFMD(0),
    fRunLoader(0),
    fEdep(0),        // nDet==0 means 51200 slots
    fShapingTime(6),
    fStoreTrackRefs(kTRUE), 
    fIgnoredLabels(0)
{
  // Normal CTOR
  AliFMDDebug(1, (" Constructed"));
  SetShapingTime();
}

//____________________________________________________________________
AliFMDBaseDigitizer::~AliFMDBaseDigitizer()
{
  // Destructor
}

//____________________________________________________________________
AliFMDBaseDigitizer&
AliFMDBaseDigitizer::operator=(const AliFMDBaseDigitizer& o) 
{ 
  // 
  // Assignment operator
  // 
  // Return:
  //    Reference to this object 
  //
  if (&o == this) return *this; 
  AliDigitizer::operator=(o);
  fRunLoader      = o.fRunLoader;
  fEdep           = o.fEdep;
  fShapingTime    = o.fShapingTime;
  fStoreTrackRefs = o.fStoreTrackRefs;
  fIgnoredLabels  = o.fIgnoredLabels;
  return *this; 
}

//____________________________________________________________________
Bool_t 
AliFMDBaseDigitizer::Init()
{
  // Initialization.   Get a pointer to the parameter manager, and
  // initialize it.  
  AliFMDParameters::Instance()->Init();
  if (AliLog::GetDebugLevel("FMD","") >= 15) 
    AliFMDParameters::Instance()->Print("");
  return kTRUE;
}

//____________________________________________________________________
UShort_t
AliFMDBaseDigitizer::MakePedestal(UShort_t detector, 
				  Char_t   ring, 
				  UShort_t sector, 
				  UShort_t strip) const 
{ 
  // Make a pedestal.  The pedestal value is drawn from a Gaussian
  // distribution.  The mean of the distribution is the measured
  // pedestal, and the width is the measured noise. 
  AliFMDParameters* param =AliFMDParameters::Instance();
  Float_t           mean  =param->GetPedestal(detector,ring,sector,strip);
  Float_t           width =param->GetPedestalWidth(detector,ring,sector,strip);
  return UShort_t(TMath::Max(gRandom->Gaus(mean, width), 0.));
}

//____________________________________________________________________
void
AliFMDBaseDigitizer::AddContribution(UShort_t detector, 
				     Char_t   ring, 
				     UShort_t sector, 
				     UShort_t strip, 
				     Float_t  edep, 
				     Bool_t   isPrimary,
				     Int_t    nTrack,
				     Int_t*   tracknos)
{
  // Add edep contribution from (detector,ring,sector,strip) to cache
  AliFMDParameters* param = AliFMDParameters::Instance();
  AliFMDDebug(10, ("Adding contribution %7.5f for FMD%d%c[%2d,%3d] "
		  " from %d tracks (%s)", 
		  edep,
		  detector, 
		  ring,
		  sector, 
		  strip, 
		  nTrack, 
		  (isPrimary ? "primary" : "secondary")));
  // Check if strip is `dead' 
  if (param->IsDead(detector, ring, sector, strip)) { 
    AliFMDDebug(5, ("FMD%d%c[%2d,%3d] is marked as dead", 
		    detector, ring, sector, strip));
    return;
  }
  // Check if strip is out-side read-out range 
  // if (strip < minstrip || strip > maxstrip) {
  //   AliFMDDebug(5, ("FMD%d%c[%2d,%3d] is outside range [%3d,%3d]", 
  //		    detector,ring,sector,strip,minstrip,maxstrip));
  //   continue;
  // }
  
  AliFMDEdepHitPair& entry = fEdep(detector, ring, sector, strip);

  // Give warning in case of double sdigit 
  if (entry.fEdep != 0)
    AliFMDDebug(5, ("Double digit in FMD%d%c[%2d,%3d]", 
		    detector, ring, sector, strip));
      
  // Sum energy deposition
  Int_t oldN  =  entry.fN;
  entry.fEdep += edep;
  entry.fN    += nTrack;
  if (isPrimary) entry.fNPrim += nTrack;
  if (fStoreTrackRefs) { 
    if (entry.fLabels.fN < entry.fN) {
      AliFMDDebug(15, ("== New label array size %d, was %d, added %d", 
		       entry.fN, entry.fLabels.fN, nTrack));
      entry.fLabels.Set(entry.fN);
    }
    for (Int_t i = 0; i < nTrack; i++) {
      AliFMDDebug(15, ("=> Setting track label # %d", oldN+i));
      entry.fLabels[oldN + i] = tracknos[i];
      AliFMDDebug(15, ("<= Setting track label # %d", oldN+i));
    }
  }
  AliFMDDebug(15,("Adding contribution %f to FMD%d%c[%2d,%3d] (%f) track %d", 
		  edep, detector, ring, sector, strip,
		  entry.fEdep, (nTrack > 0 ? tracknos[0] : -1)));
  
}

//____________________________________________________________________
void
AliFMDBaseDigitizer::DigitizeHits() const
{
  // For the stored energy contributions in the cache (fEdep), convert
  // the energy signal to ADC counts, and store the created digit in
  // the digits array (AliFMD::fDigits)
  //
  AliFMDDebug(5, ("Will now digitize all the summed signals"));
  fIgnoredLabels = 0;
  AliFMDGeometry* geometry = AliFMDGeometry::Instance();
  
  TArrayI counts(4);
  for (UShort_t detector=1; detector <= 3; detector++) {
    AliFMDDebug(10, ("Processing hits in FMD%d", detector));
    // Get pointer to subdetector 
    AliFMDDetector* det = geometry->GetDetector(detector);
    if (!det) continue;
    for (UShort_t ringi = 0; ringi <= 1; ringi++) {
      Char_t ring = ringi == 0 ? 'I' : 'O';
      AliFMDDebug(10, (" Processing hits in FMD%d%c", detector,ring));
      // Get pointer to Ring
      AliFMDRing* r = det->GetRing(ring);
      if (!r) continue;
      
      // Get number of sectors 
      UShort_t nSectors = UShort_t(360. / r->GetTheta());
      // Loop over the number of sectors 
      for (UShort_t sector = 0; sector < nSectors; sector++) {
	AliFMDDebug(10, ("  Processing hits in FMD%d%c[%2d]", 
			detector,ring,sector));
	// Get number of strips 
	UShort_t nStrips = r->GetNStrips();
	// Loop over the stips 
	Float_t last = 0;
	for (UShort_t strip = 0; strip < nStrips; strip++) {
	  // Reset the counter array to the invalid value -1 
	  counts.Reset(-1);
	  // Reset the last `ADC' value when we've get to the end of a
	  // VA1_ALICE channel. 
	  if (strip % 128 == 0) last = 0;
	  
	  const AliFMDEdepHitPair& entry  = fEdep(detector,ring,sector,strip);
	  Float_t                  edep   = entry.fEdep;
	  UShort_t                 ntot   = entry.fN;
	  UShort_t                 nprim  = entry.fNPrim;
	  const TArrayI&           labels = entry.fLabels;
	  if (edep > 0)
	    AliFMDDebug(15, ("Edep = %f for FMD%d%c[%2d,%3d]", 
			     edep, detector, ring, sector, strip));
	  ConvertToCount(edep, last, detector, ring, sector, strip, counts);
	  last = edep;
	  

	  // The following line was introduced - wrongly - by Peter
	  // Hristov.  It _will_ break the digitisation and the
	  // following reconstruction.  The behviour of the
	  // digitisation models exactly the front-end as it should
	  // (no matter what memory concuption it may entail).  The
	  // check should be on zero suppression, since that's what
	  // models the front-end - if zero suppression is turned on
	  // in the front-end, then we can suppress empty digits -
	  // otherwise we shoud never do that.  Note, that the line
	  // affects _both_ normal digitisation and digitisation for
	  // summable digits, since the condition is on the energy
	  // deposition and not on the actual number of counts.  If
	  // this line should go anywhere, it should be in the
	  // possible overloaded AliFMDSDigitizer::AddDigit - not
	  // here. 
	  // 
	  //   if (edep<=0) continue;
	  AddDigit(detector, ring, sector, strip, edep, 
		   UShort_t(counts[0]), Short_t(counts[1]), 
		   Short_t(counts[2]), Short_t(counts[3]), 
		   ntot, nprim, labels);
	  AliFMDDebug(15, ("   Adding digit in FMD%d%c[%2d,%3d]=%d", 
			   detector,ring,sector,strip,counts[0]));
#if 0
	  // This checks if the digit created will give the `right'
	  // number of particles when reconstructed, using a naiive
	  // approach.  It's here only as a quality check - nothing
	  // else. 
	  CheckDigit(digit, fEdep(detector, ring, sector, strip).fN,
		     counts);
#endif
	} // Strip
      } // Sector 
    } // Ring 
  } // Detector 
  if (fIgnoredLabels > 0) 
    AliWarning(Form("%d track labels could not be associated with digits "
		    "due to limited storage facilities in AliDigit", 
		    fIgnoredLabels));
}

//____________________________________________________________________
void
AliFMDBaseDigitizer::ConvertToCount(Float_t   edep, 
				    Float_t   last,
				    UShort_t  detector, 
				    Char_t    ring, 
				    UShort_t  sector, 
				    UShort_t  strip,
				    TArrayI&  counts) const
{
  // Convert the total energy deposited to a (set of) ADC count(s). 
  // 
  // This is done by 
  // 
  //               Energy_Deposited      ALTRO_Channel_Size
  //    ADC = -------------------------- ------------------- + pedestal
  //          Energy_Deposition_Of_1_MIP VA1_ALICE_MIP_Range
  //
  //               Energy_Deposited             fAltroChannelSize
  //        = --------------------------------- ----------------- + pedestal 
  //          1.664 * Si_Thickness * Si_Density   fVA1MipRange	 
  //          
  // 
  //        = Energy_Deposited * ConversionFactor + pedestal
  // 
  // However, this is modified by the response function of the
  // VA1_ALICE pre-amp. chip in case we are doing oversampling of the
  // VA1_ALICE output. 
  // 
  // In that case, we get N=fSampleRate values of the ADC, and the
  // `EnergyDeposited' is a function of which sample where are
  // calculating the ADC for 
  // 
  //     ADC_i = f(EnergyDeposited, i/N, Last) * ConversionFactor + pedestal 
  // 
  // where Last is the Energy deposited in the previous strip. 
  // 
  // Here, f is the shaping function of the VA1_ALICE.   This is given
  // by 
  //                       
  //                    |   (E - l) * (1 - exp(-B * t) + l   if E > l
  //       f(E, t, l) = <
  //                    |   (l - E) * exp(-B * t) + E        otherwise
  //                       
  // 
  //                  = E + (l - E) * ext(-B * t)
  // 
  AliFMDParameters* param = AliFMDParameters::Instance();
  Float_t  convF          = (param->GetDACPerMIP() / param->GetEdepMip() *
			     param->GetPulseGain(detector,ring,sector,strip));
  Int_t    ped            = MakePedestal(detector,ring,sector,strip);
  Int_t    maxAdc         = param->GetAltroChannelSize()-1;
  if (maxAdc < 0) {
    AliWarning(Form("Maximum ADC is %d < 0, forcing it to 1023", maxAdc));
    maxAdc = 1023;
  }
  UShort_t rate           = param->GetSampleRate(detector,ring,sector,strip);
  AliFMDDebug(15, ("Sample rate for FMD%d%c[%2d,%3d] = %d", 
		   detector, ring, sector, strip, rate));
  if (rate < 1 || rate > 4) {
    AliWarning(Form("Invalid sample rate for for FMD%d%c[%2d,%3d] = %d", 
		    detector, ring, sector, strip, rate));
    rate = 1;
  }

  // In case we don't oversample, just return the end value. 
  if (rate == 1) {
    Float_t    a = edep * convF + ped;
    if (a < 0) a = 0;
    counts[0]    = UShort_t(TMath::Min(a, Float_t(maxAdc)));
    AliFMDDebug(15, ("FMD%d%c[%2d,%3d]: converting ELoss %f to "
		     "ADC %4d (%f,%d)",
		     detector,ring,sector,strip,edep,counts[0],convF,ped));
    return;
  }

  
  // Create a pedestal 
  Float_t b = fShapingTime;
  for (Ssiz_t i = 0; i < rate;  i++) {
    Float_t t  = Float_t(i) / rate + 1./rate;
    Float_t s  = edep + (last - edep) * TMath::Exp(-b * t);
    Float_t a  = Int_t(s * convF + ped);
    if (a < 0) a = 0;
    counts[i]  = UShort_t(TMath::Min(a, Float_t(maxAdc)));
  }
  AliFMDDebug(15, ("Converted edep = %f to ADC (%x,%x,%x,%x) "
		   "[gain: %f=(%f/%f*%f), pedestal: %d, rate: %d]", 
		   edep, counts[0], counts[1], counts[2], counts[3], 
		   convF, param->GetDACPerMIP(),param->GetEdepMip(),
		   param->GetPulseGain(detector,ring,sector,strip), 
		   ped, rate));
}

//____________________________________________________________________
void
AliFMDBaseDigitizer::AddDigit(UShort_t        detector, 
			      Char_t          ring,
			      UShort_t        sector, 
			      UShort_t        strip, 
			      Float_t         /* edep */, 
			      UShort_t        count1, 
			      Short_t         count2, 
			      Short_t         count3,
			      Short_t         count4,
			      UShort_t        ntot, 
			      UShort_t        /* nprim */,
			      const TArrayI&  refs) const
{
  // Add a digit or summable digit
  fFMD->AddDigitByFields(detector, ring, sector, strip, 
			 count1, count2, count3, count4, 
			 ntot, fStoreTrackRefs ? refs.fArray : 0);
  if (fStoreTrackRefs && ntot > 3) fIgnoredLabels += ntot - 3;
}

//____________________________________________________________________
TTree*
AliFMDBaseDigitizer::MakeOutputTree(AliLoader* loader)
{
  // Create output tree using loader.   If the passed loader differs
  // from the currently set loader in the FMD object, reset the FMD
  // loader to be the passed loader.   This is for the cases wher the
  // output is different from the output. 
  AliFMDDebug(5, ("Making digits tree"));
  loader->LoadDigits("UPDATE"); // "RECREATE");
  TTree* out = loader->TreeD();
  if (!out) loader->MakeTree("D");
  out = loader->TreeD(); 
  if (out) { 
    out->Reset();
    if (loader != fFMD->GetLoader()) 
      fFMD->SetLoader(loader);
    fFMD->MakeBranch("D");
  }
  return out;
}

//____________________________________________________________________
void
AliFMDBaseDigitizer::StoreDigits(const AliLoader* loader)
{
  // Write the digits to disk 
  AliFMDDebug(5, ("Storing %d digits",   fFMD->Digits()->GetEntries()));
  loader->WriteDigits("OVERWRITE");
  loader->UnloadDigits();
  // Reset the digits in the AliFMD object 
  fFMD->ResetDigits();
}

//____________________________________________________________________
//
// EOF
// 




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