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$ */
///////////////////////////////////////////////////////////////////////////
//Piotr.Skowronski@cern.ch :                                             //
//Corrections applied in order to compile (only)                         // 
//   with new I/O and folder structure                                   //
//To be implemented correctly by responsible                             //
//                                                                       //
//  Class used to steer                                                  //
//  the digitization for ITS                                             //
//                                                                       //
///////////////////////////////////////////////////////////////////////////

#include <stdlib.h>
#include <TClonesArray.h>
#include <TTree.h>
#include <TBranch.h>

#include "AliRun.h"
#include "AliRunLoader.h"
#include "AliLoader.h"
#include "AliLog.h"
#include "AliDigitizationInput.h"
#include "AliITSDigitizer.h"
#include "AliITSgeom.h"
#include "AliITSgeomTGeo.h"
#include "AliITSsimulation.h"

ClassImp(AliITSDigitizer)

//______________________________________________________________________
AliITSDigitizer::AliITSDigitizer() : AliDigitizer(),
fITS(0),
fModActive(0),
fInit(kFALSE),
fRoif(-1),
fRoiifile(0),
fFlagFirstEv(kTRUE){
    // Default constructor. Assign fITS since it is never written out from
    // here. 
    // Inputs:
    //      Option_t * opt   Not used
    // Outputs:
    //      none.
    // Return:
    //      A blank AliITSDigitizer class.
  fModActive = new Bool_t[AliITSgeomTGeo::GetNModules()];
  for(Int_t i=0;i<AliITSgeomTGeo::GetNModules();i++) fModActive[i] = kTRUE;

}
//______________________________________________________________________
AliITSDigitizer::AliITSDigitizer(AliDigitizationInput* digInp) : AliDigitizer(digInp),
fITS(0),
fModActive(0),
fInit(kFALSE),
fRoif(-1),
fRoiifile(0),
fFlagFirstEv(kTRUE){
    // Standard constructor. Assign fITS since it is never written out from
    // here. 
    // Inputs:
    //      Option_t * opt   Not used
    // Outputs:
    //      none.
    // Return:
    //      An AliItSDigitizer class.
  fModActive = new Bool_t[AliITSgeomTGeo::GetNModules()];
  for(Int_t i=0;i<AliITSgeomTGeo::GetNModules();i++) fModActive[i] = kTRUE;
}


//______________________________________________________________________
AliITSDigitizer::~AliITSDigitizer(){
    // Default destructor. 
    // Inputs:
    //      Option_t * opt   Not used
    // Outputs:
    //      none.
    // Return:
    //      none.
    fITS = 0; // don't delete fITS. Done else where.
    if(fModActive) delete[] fModActive;
}
//______________________________________________________________________
Bool_t AliITSDigitizer::Init(){
    // Initialization. Set up region of interest, if switched on, and
    // loads ITS and ITSgeom.
    // Inputs:
    //      none.
    // Outputs:
    //      none.
    // Return:
    //      none.

    fInit = kTRUE; // Assume for now init will work.
    if(!gAlice) {
	fITS      = 0;
	fRoiifile = 0;
	fInit     = kFALSE;
	Warning("Init","gAlice not found");
	return fInit;
    } // end if
    fITS = (AliITS *)(gAlice->GetDetector("ITS"));
    if(!fITS){
	fRoiifile = 0;
	fInit     = kFALSE;
	Warning("Init","ITS not found");
	return fInit;
    } 
    if(!fITS->GetITSgeom()){
	fRoiifile = 0;
	fInit     = kFALSE;
	Warning("Init","ITS geometry not found");
	return fInit;
    } // end if
    return fInit;
}
//______________________________________________________________________
void AliITSDigitizer::Digitize(Option_t* opt){
    // Main digitization function. 
    // Inputs:
    //      Option_t * opt   list of sub detector to digitize. =0 all.
    // Outputs:
    //      none.
    // Return:
    //      none.

  char name[21] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
    const char *all;
    const char *det[3] = {strstr(opt,"SPD"),strstr(opt,"SDD"),
                          strstr(opt,"SSD")};
    if( !det[0] && !det[1] && !det[2] ) all = "All";
    else all = 0;
    Int_t nfiles = GetDigInput()->GetNinputs();
    Int_t event  = GetDigInput()->GetOutputEventNr();
    AliITSsimulation *sim      = 0;
    if(fFlagFirstEv){
      fITS->SetDefaults();    
      fITS->SetDefaultSimulation();
      fFlagFirstEv=kFALSE;
    }
    if(!fInit){
	Error("Exec","Init not successful, aborting.");
	return;
    } // end if

    snprintf(name,20,"%s",fITS->GetName());

    Int_t size   = fITS->GetITSgeom()->GetIndexMax();
    Int_t module,id,ifiles,mask;
    Bool_t lmod;
    Int_t *fl = new Int_t[nfiles];
    fl[0] = fRoiifile;
    mask = 1;
    for(id=0;id<nfiles;id++) 
     if(id!=fRoiifile)
      {
       // just in case fRoiifile!=0.
        fl[mask] = id;
        mask++;
      } // end for,if
    TClonesArray * sdig = new TClonesArray( "AliITSpListItem",1000 );
    
    TString loadname(name);
    loadname+="Loader";
    
    AliRunLoader *inRL = 0x0, *outRL = 0x0;
    AliLoader *ingime = 0x0, *outgime = 0x0;    
    
    outRL = AliRunLoader::GetRunLoader(fDigInput->GetOutputFolderName());    
    if ( outRL == 0x0)
     {
       Error("Exec","Can not get Output Run Loader");
       delete [] fl;
       return;
     }
    outRL->GetEvent(event);
    outgime = outRL->GetLoader(loadname);
    if ( outgime == 0x0)
     {
       Error("Exec","Can not get Output ITS Loader");
       delete [] fl;
       return;
     }

    outgime->LoadDigits("update");
    if (outgime->TreeD() == 0x0) outgime->MakeTree("D");
    
    // Digitize
    fITS->MakeBranchInTreeD(outgime->TreeD());
    if(fRoif!=0) {
      AliDebug(1,"Region of Interest digitization selected");
    }
    else {
      AliDebug(1,"No Region of Interest selected. Digitizing everything");
    }


    for(ifiles=0; ifiles<nfiles; ifiles++ )
     {
       inRL =  AliRunLoader::GetRunLoader(fDigInput->GetInputFolderName(fl[ifiles]));
       ingime = inRL->GetLoader(loadname);
       if (ingime->TreeS() == 0x0) ingime->LoadSDigits();
     }

    for(module=0; module<size; module++ )
     {
       if(fRoif!=0) if(!fModActive[module]) continue;
       id = fITS->GetITSgeom()->GetModuleType(module);
       if(!all && !det[id]) continue;
       sim      = (AliITSsimulation*)fITS->GetSimulationModel(id);
       if(!sim) {
            Error( "Exec", "The simulation class was not instanciated!" );
            exit(1);
        } // end if !sim
           // Fill the module with the sum of SDigits
        sim->InitSimulationModule(module, event);
	//cout << "Module=" << module;
        for(ifiles=0; ifiles<nfiles; ifiles++ )
         {
           if(fRoif!=0) if(!fModActive[module]) continue;
            
           inRL =  AliRunLoader::GetRunLoader(fDigInput->GetInputFolderName(fl[ifiles]));
           ingime = inRL->GetLoader(loadname);
           
           TTree *treeS = ingime->TreeS();
           fITS->SetTreeAddress();
           
           if( !treeS  ) continue; 
           TBranch *brchSDigits = treeS->GetBranch( name );
           if( brchSDigits ) 
            {
                brchSDigits->SetAddress( &sdig ); 
            } else {
                Error( "Exec", "branch ITS not found in TreeS, input file %d ",
                       ifiles );
		delete [] fl;
		return;
            } // end if brchSDigits
            sdig->Clear();
            mask = GetDigInput()->GetMask(ifiles);
            // add summable digits to module
            brchSDigits->GetEvent( module );
            lmod = sim->AddSDigitsToModule(sdig,mask);
            if(GetRegionOfInterest() && (ifiles==0))
             {
               fModActive[module] = lmod;
             } // end if
        } // end for ifiles
	//cout << " end ifiles loop" << endl;
        // Digitize current module sum(SDigits)->Digits
	sim->FinishSDigitiseModule();

        // fills all branches - wasted disk space
        outgime->TreeD()->Fill();
	fITS->ResetDigits();
    } // end for module
    fITS->WriteFOSignals(); 
    outgime->TreeD()->AutoSave();
    outgime->WriteDigits("OVERWRITE");
    outgime->UnloadDigits();
    for(ifiles=0; ifiles<nfiles; ifiles++ )
     {
       inRL =  AliRunLoader::GetRunLoader(fDigInput->GetInputFolderName(fl[ifiles]));
       ingime = inRL->GetLoader(loadname);
       ingime->UnloadSDigits();
     }

    delete[] fl;
    sdig->Clear();
    delete sdig;
    for(Int_t i=0;i<fITS->GetITSgeom()->GetIndexMax();i++) fModActive[i] = kTRUE;
    

    return;
}
//______________________________________________________________________
void AliITSDigitizer::SetByRegionOfInterest(TTree *ts){
    // Scans through the ITS branch of the SDigits tree, ts, for modules
    // which have SDigits in them. For these modules, a flag is set to
    // digitize only these modules. The value of fRoif determines how many
    // neighboring modules will also be turned on. fRoif=0 will turn on only
    // those modules with SDigits in them. fRoif=1 will turn on, in addition,
    // those modules that are +-1 module from the one with the SDigits. And
    // So on. This last feature is not supported yet.
    // Inputs:
    //      TTree *ts  The tree in which the existing SDigits will define the
    //                 region of interest.
    // Outputs:
    //      none.
    // Return:
    //      none.
    Int_t m,nm,i;

    if(fRoif==0) return;
    if(ts==0) return;
    TBranch *brchSDigits = ts->GetBranch(fITS->GetName());
    TClonesArray * sdig = new TClonesArray( "AliITSpListItem",1000 );
    //cout << "Region of Interest ts="<<ts<<" brchSDigits="<<brchSDigits<<" sdig="<<sdig<<endl;

    if( brchSDigits ) {
      brchSDigits->SetAddress( &sdig );
    } else {
      Error( "SetByRegionOfInterest","branch ITS not found in TreeS");
      return;
    } // end if brchSDigits

    nm = fITS->GetITSgeom()->GetIndexMax();
    for(m=0;m<nm;m++){
      fModActive[m] = kFALSE; // Not active by default
      sdig->Clear();
      brchSDigits->GetEvent(m);
      if(sdig->GetLast()>=0) for(i=0;i<sdig->GetLast();i++){
          // activate the necessary modules
          if(((AliITSpList*)sdig->At(m))->GetpListItem(i)->GetSignal()>0.0){ // Must have non zero signal.
            fModActive[m] = kTRUE;
            break;
          } // end if
      } // end if. end for i.
      //cout << fModActive[m];
      //cout << endl;
    } // end for m
    AliDebug(1,"Digitization by Region of Interest selected");
    sdig->Clear();
    delete sdig;
    return;
}
 AliITSDigitizer.cxx:1
 AliITSDigitizer.cxx:2
 AliITSDigitizer.cxx:3
 AliITSDigitizer.cxx:4
 AliITSDigitizer.cxx:5
 AliITSDigitizer.cxx:6
 AliITSDigitizer.cxx:7
 AliITSDigitizer.cxx:8
 AliITSDigitizer.cxx:9
 AliITSDigitizer.cxx:10
 AliITSDigitizer.cxx:11
 AliITSDigitizer.cxx:12
 AliITSDigitizer.cxx:13
 AliITSDigitizer.cxx:14
 AliITSDigitizer.cxx:15
 AliITSDigitizer.cxx:16
 AliITSDigitizer.cxx:17
 AliITSDigitizer.cxx:18
 AliITSDigitizer.cxx:19
 AliITSDigitizer.cxx:20
 AliITSDigitizer.cxx:21
 AliITSDigitizer.cxx:22
 AliITSDigitizer.cxx:23
 AliITSDigitizer.cxx:24
 AliITSDigitizer.cxx:25
 AliITSDigitizer.cxx:26
 AliITSDigitizer.cxx:27
 AliITSDigitizer.cxx:28
 AliITSDigitizer.cxx:29
 AliITSDigitizer.cxx:30
 AliITSDigitizer.cxx:31
 AliITSDigitizer.cxx:32
 AliITSDigitizer.cxx:33
 AliITSDigitizer.cxx:34
 AliITSDigitizer.cxx:35
 AliITSDigitizer.cxx:36
 AliITSDigitizer.cxx:37
 AliITSDigitizer.cxx:38
 AliITSDigitizer.cxx:39
 AliITSDigitizer.cxx:40
 AliITSDigitizer.cxx:41
 AliITSDigitizer.cxx:42
 AliITSDigitizer.cxx:43
 AliITSDigitizer.cxx:44
 AliITSDigitizer.cxx:45
 AliITSDigitizer.cxx:46
 AliITSDigitizer.cxx:47
 AliITSDigitizer.cxx:48
 AliITSDigitizer.cxx:49
 AliITSDigitizer.cxx:50
 AliITSDigitizer.cxx:51
 AliITSDigitizer.cxx:52
 AliITSDigitizer.cxx:53
 AliITSDigitizer.cxx:54
 AliITSDigitizer.cxx:55
 AliITSDigitizer.cxx:56
 AliITSDigitizer.cxx:57
 AliITSDigitizer.cxx:58
 AliITSDigitizer.cxx:59
 AliITSDigitizer.cxx:60
 AliITSDigitizer.cxx:61
 AliITSDigitizer.cxx:62
 AliITSDigitizer.cxx:63
 AliITSDigitizer.cxx:64
 AliITSDigitizer.cxx:65
 AliITSDigitizer.cxx:66
 AliITSDigitizer.cxx:67
 AliITSDigitizer.cxx:68
 AliITSDigitizer.cxx:69
 AliITSDigitizer.cxx:70
 AliITSDigitizer.cxx:71
 AliITSDigitizer.cxx:72
 AliITSDigitizer.cxx:73
 AliITSDigitizer.cxx:74
 AliITSDigitizer.cxx:75
 AliITSDigitizer.cxx:76
 AliITSDigitizer.cxx:77
 AliITSDigitizer.cxx:78
 AliITSDigitizer.cxx:79
 AliITSDigitizer.cxx:80
 AliITSDigitizer.cxx:81
 AliITSDigitizer.cxx:82
 AliITSDigitizer.cxx:83
 AliITSDigitizer.cxx:84
 AliITSDigitizer.cxx:85
 AliITSDigitizer.cxx:86
 AliITSDigitizer.cxx:87
 AliITSDigitizer.cxx:88
 AliITSDigitizer.cxx:89
 AliITSDigitizer.cxx:90
 AliITSDigitizer.cxx:91
 AliITSDigitizer.cxx:92
 AliITSDigitizer.cxx:93
 AliITSDigitizer.cxx:94
 AliITSDigitizer.cxx:95
 AliITSDigitizer.cxx:96
 AliITSDigitizer.cxx:97
 AliITSDigitizer.cxx:98
 AliITSDigitizer.cxx:99
 AliITSDigitizer.cxx:100
 AliITSDigitizer.cxx:101
 AliITSDigitizer.cxx:102
 AliITSDigitizer.cxx:103
 AliITSDigitizer.cxx:104
 AliITSDigitizer.cxx:105
 AliITSDigitizer.cxx:106
 AliITSDigitizer.cxx:107
 AliITSDigitizer.cxx:108
 AliITSDigitizer.cxx:109
 AliITSDigitizer.cxx:110
 AliITSDigitizer.cxx:111
 AliITSDigitizer.cxx:112
 AliITSDigitizer.cxx:113
 AliITSDigitizer.cxx:114
 AliITSDigitizer.cxx:115
 AliITSDigitizer.cxx:116
 AliITSDigitizer.cxx:117
 AliITSDigitizer.cxx:118
 AliITSDigitizer.cxx:119
 AliITSDigitizer.cxx:120
 AliITSDigitizer.cxx:121
 AliITSDigitizer.cxx:122
 AliITSDigitizer.cxx:123
 AliITSDigitizer.cxx:124
 AliITSDigitizer.cxx:125
 AliITSDigitizer.cxx:126
 AliITSDigitizer.cxx:127
 AliITSDigitizer.cxx:128
 AliITSDigitizer.cxx:129
 AliITSDigitizer.cxx:130
 AliITSDigitizer.cxx:131
 AliITSDigitizer.cxx:132
 AliITSDigitizer.cxx:133
 AliITSDigitizer.cxx:134
 AliITSDigitizer.cxx:135
 AliITSDigitizer.cxx:136
 AliITSDigitizer.cxx:137
 AliITSDigitizer.cxx:138
 AliITSDigitizer.cxx:139
 AliITSDigitizer.cxx:140
 AliITSDigitizer.cxx:141
 AliITSDigitizer.cxx:142
 AliITSDigitizer.cxx:143
 AliITSDigitizer.cxx:144
 AliITSDigitizer.cxx:145
 AliITSDigitizer.cxx:146
 AliITSDigitizer.cxx:147
 AliITSDigitizer.cxx:148
 AliITSDigitizer.cxx:149
 AliITSDigitizer.cxx:150
 AliITSDigitizer.cxx:151
 AliITSDigitizer.cxx:152
 AliITSDigitizer.cxx:153
 AliITSDigitizer.cxx:154
 AliITSDigitizer.cxx:155
 AliITSDigitizer.cxx:156
 AliITSDigitizer.cxx:157
 AliITSDigitizer.cxx:158
 AliITSDigitizer.cxx:159
 AliITSDigitizer.cxx:160
 AliITSDigitizer.cxx:161
 AliITSDigitizer.cxx:162
 AliITSDigitizer.cxx:163
 AliITSDigitizer.cxx:164
 AliITSDigitizer.cxx:165
 AliITSDigitizer.cxx:166
 AliITSDigitizer.cxx:167
 AliITSDigitizer.cxx:168
 AliITSDigitizer.cxx:169
 AliITSDigitizer.cxx:170
 AliITSDigitizer.cxx:171
 AliITSDigitizer.cxx:172
 AliITSDigitizer.cxx:173
 AliITSDigitizer.cxx:174
 AliITSDigitizer.cxx:175
 AliITSDigitizer.cxx:176
 AliITSDigitizer.cxx:177
 AliITSDigitizer.cxx:178
 AliITSDigitizer.cxx:179
 AliITSDigitizer.cxx:180
 AliITSDigitizer.cxx:181
 AliITSDigitizer.cxx:182
 AliITSDigitizer.cxx:183
 AliITSDigitizer.cxx:184
 AliITSDigitizer.cxx:185
 AliITSDigitizer.cxx:186
 AliITSDigitizer.cxx:187
 AliITSDigitizer.cxx:188
 AliITSDigitizer.cxx:189
 AliITSDigitizer.cxx:190
 AliITSDigitizer.cxx:191
 AliITSDigitizer.cxx:192
 AliITSDigitizer.cxx:193
 AliITSDigitizer.cxx:194
 AliITSDigitizer.cxx:195
 AliITSDigitizer.cxx:196
 AliITSDigitizer.cxx:197
 AliITSDigitizer.cxx:198
 AliITSDigitizer.cxx:199
 AliITSDigitizer.cxx:200
 AliITSDigitizer.cxx:201
 AliITSDigitizer.cxx:202
 AliITSDigitizer.cxx:203
 AliITSDigitizer.cxx:204
 AliITSDigitizer.cxx:205
 AliITSDigitizer.cxx:206
 AliITSDigitizer.cxx:207
 AliITSDigitizer.cxx:208
 AliITSDigitizer.cxx:209
 AliITSDigitizer.cxx:210
 AliITSDigitizer.cxx:211
 AliITSDigitizer.cxx:212
 AliITSDigitizer.cxx:213
 AliITSDigitizer.cxx:214
 AliITSDigitizer.cxx:215
 AliITSDigitizer.cxx:216
 AliITSDigitizer.cxx:217
 AliITSDigitizer.cxx:218
 AliITSDigitizer.cxx:219
 AliITSDigitizer.cxx:220
 AliITSDigitizer.cxx:221
 AliITSDigitizer.cxx:222
 AliITSDigitizer.cxx:223
 AliITSDigitizer.cxx:224
 AliITSDigitizer.cxx:225
 AliITSDigitizer.cxx:226
 AliITSDigitizer.cxx:227
 AliITSDigitizer.cxx:228
 AliITSDigitizer.cxx:229
 AliITSDigitizer.cxx:230
 AliITSDigitizer.cxx:231
 AliITSDigitizer.cxx:232
 AliITSDigitizer.cxx:233
 AliITSDigitizer.cxx:234
 AliITSDigitizer.cxx:235
 AliITSDigitizer.cxx:236
 AliITSDigitizer.cxx:237
 AliITSDigitizer.cxx:238
 AliITSDigitizer.cxx:239
 AliITSDigitizer.cxx:240
 AliITSDigitizer.cxx:241
 AliITSDigitizer.cxx:242
 AliITSDigitizer.cxx:243
 AliITSDigitizer.cxx:244
 AliITSDigitizer.cxx:245
 AliITSDigitizer.cxx:246
 AliITSDigitizer.cxx:247
 AliITSDigitizer.cxx:248
 AliITSDigitizer.cxx:249
 AliITSDigitizer.cxx:250
 AliITSDigitizer.cxx:251
 AliITSDigitizer.cxx:252
 AliITSDigitizer.cxx:253
 AliITSDigitizer.cxx:254
 AliITSDigitizer.cxx:255
 AliITSDigitizer.cxx:256
 AliITSDigitizer.cxx:257
 AliITSDigitizer.cxx:258
 AliITSDigitizer.cxx:259
 AliITSDigitizer.cxx:260
 AliITSDigitizer.cxx:261
 AliITSDigitizer.cxx:262
 AliITSDigitizer.cxx:263
 AliITSDigitizer.cxx:264
 AliITSDigitizer.cxx:265
 AliITSDigitizer.cxx:266
 AliITSDigitizer.cxx:267
 AliITSDigitizer.cxx:268
 AliITSDigitizer.cxx:269
 AliITSDigitizer.cxx:270
 AliITSDigitizer.cxx:271
 AliITSDigitizer.cxx:272
 AliITSDigitizer.cxx:273
 AliITSDigitizer.cxx:274
 AliITSDigitizer.cxx:275
 AliITSDigitizer.cxx:276
 AliITSDigitizer.cxx:277
 AliITSDigitizer.cxx:278
 AliITSDigitizer.cxx:279
 AliITSDigitizer.cxx:280
 AliITSDigitizer.cxx:281
 AliITSDigitizer.cxx:282
 AliITSDigitizer.cxx:283
 AliITSDigitizer.cxx:284
 AliITSDigitizer.cxx:285
 AliITSDigitizer.cxx:286
 AliITSDigitizer.cxx:287
 AliITSDigitizer.cxx:288
 AliITSDigitizer.cxx:289
 AliITSDigitizer.cxx:290
 AliITSDigitizer.cxx:291
 AliITSDigitizer.cxx:292
 AliITSDigitizer.cxx:293
 AliITSDigitizer.cxx:294
 AliITSDigitizer.cxx:295
 AliITSDigitizer.cxx:296
 AliITSDigitizer.cxx:297
 AliITSDigitizer.cxx:298
 AliITSDigitizer.cxx:299
 AliITSDigitizer.cxx:300
 AliITSDigitizer.cxx:301
 AliITSDigitizer.cxx:302
 AliITSDigitizer.cxx:303
 AliITSDigitizer.cxx:304
 AliITSDigitizer.cxx:305
 AliITSDigitizer.cxx:306
 AliITSDigitizer.cxx:307
 AliITSDigitizer.cxx:308
 AliITSDigitizer.cxx:309
 AliITSDigitizer.cxx:310
 AliITSDigitizer.cxx:311
 AliITSDigitizer.cxx:312
 AliITSDigitizer.cxx:313
 AliITSDigitizer.cxx:314
 AliITSDigitizer.cxx:315
 AliITSDigitizer.cxx:316
 AliITSDigitizer.cxx:317
 AliITSDigitizer.cxx:318
 AliITSDigitizer.cxx:319
 AliITSDigitizer.cxx:320
 AliITSDigitizer.cxx:321
 AliITSDigitizer.cxx:322
 AliITSDigitizer.cxx:323
 AliITSDigitizer.cxx:324
 AliITSDigitizer.cxx:325
 AliITSDigitizer.cxx:326
 AliITSDigitizer.cxx:327
 AliITSDigitizer.cxx:328
 AliITSDigitizer.cxx:329
 AliITSDigitizer.cxx:330
 AliITSDigitizer.cxx:331
 AliITSDigitizer.cxx:332
 AliITSDigitizer.cxx:333
 AliITSDigitizer.cxx:334
 AliITSDigitizer.cxx:335
 AliITSDigitizer.cxx:336
 AliITSDigitizer.cxx:337
 AliITSDigitizer.cxx:338
 AliITSDigitizer.cxx:339
 AliITSDigitizer.cxx:340
 AliITSDigitizer.cxx:341