ROOT logo
#ifndef ALILOADER_H
#define ALILOADER_H

class TDirectory;
class TFile;
class TString;
class TTree;

#include <TFolder.h>
#include <TObjArray.h>

class AliRunLoader;

#include "AliDataLoader.h"
#include "AliBaseLoader.h"


//___________________________________________________________________
/////////////////////////////////////////////////////////////////////
//                                                                 //
//  class AliLoader                                                //
//                                                                 //
//  Base class for Loaders.                                        //
//  Loader provides base I/O fascilities for "standard" data.      //
//  Each detector has a laoder data member.                        //
//  Loader is always accessible via folder structure as well       //
//                                                                 //
/////////////////////////////////////////////////////////////////////

class AliLoader: public TNamed
 {
   public:
    AliLoader();
    AliLoader(const Char_t *detname,const Char_t *eventfoldername); //contructor with name of the top folder of the tree
    AliLoader(const Char_t *detname,TFolder* eventfolder);

    virtual ~AliLoader();//----------------- 
 
    virtual Int_t  GetEvent();//changes to root directory
                             //relies on the event number defined in gAlice
    virtual Int_t  SetEvent();//basically the same that GetEvent but do not post data to folders
    virtual void   MakeTree(Option_t* opt);

    //these methods are responsible for reading data
    // 1. Opens the file (accordingly to gAlice->GetEvNumber()/Nevents per File
    // 2. Changes to proper ROOT directory
    // 3. Retrives data and posts to folders
    //options: 
    //   ""       - readonly file
    //   "update" - update file
    //   "recreate" 
    AliDataLoader* GetHitsDataLoader()     const {return (AliDataLoader*)fDataLoaders->At(kHits);}
    AliDataLoader* GetSDigitsDataLoader()  const {return (AliDataLoader*)fDataLoaders->At(kSDigits);}
    AliDataLoader* GetDigitsDataLoader()   const {return (AliDataLoader*)fDataLoaders->At(kDigits);}
    AliDataLoader* GetRecPointsDataLoader()const {return (AliDataLoader*)fDataLoaders->At(kRecPoints);}
    AliDataLoader* GetTracksDataLoader()   const {return (AliDataLoader*)fDataLoaders->At(kTracks);}
    AliDataLoader* GetRecParticlesDataLoader()const {return (AliDataLoader*)fDataLoaders->At(kRecParticles);}
 
    AliDataLoader* GetDataLoader(const char* name);
    void           AddDataLoader(AliDataLoader* dl);
        
    
    Int_t          SetEventFolder(TFolder* eventfolder);//sets the event folder
    Int_t          Register(TFolder* eventFolder);//triggers creation of subfolders for a given detector
      
    TFolder*       GetTopFolder();  //returns top aliroot folder
    TFolder*       GetEventFolder();//returns the folder that event is sitting
    TFolder*       GetDataFolder(); //returns the folder that hits, sdigits, etc are sitting (this contains folders named like detectors)
    TFolder*       GetDetectorDataFolder();//returns the folder that hits, sdigits, etc 
                                     //are sitting for a given detector (subfolder of Data Folder)
    TFolder*       GetModulesFolder();
    
    virtual void   MakeHitsContainer() const {GetHitsDataLoader()->MakeTree();}
    virtual void   MakeSDigitsContainer() const {GetSDigitsDataLoader()->MakeTree();}
    virtual void   MakeDigitsContainer() const {GetDigitsDataLoader()->MakeTree();}
    virtual void   MakeRecPointsContainer() const {GetRecPointsDataLoader()->MakeTree();}
    virtual void   MakeTracksContainer() const {GetTracksDataLoader()->MakeTree();}
    virtual void   MakeRecParticlesContainer() const {GetRecParticlesDataLoader()->MakeTree();}
        
    virtual void   CleanFolders();
    virtual void   CloseFiles();

    TTree*         TreeH() const
      {return GetHitsDataLoader()->Tree();}      //returns the tree from folder; shortcut method
    TTree*         TreeS() const
      {return GetSDigitsDataLoader()->Tree();}   //returns the tree from folder; shortcut method
    TTree*         TreeD() const
      {return GetDigitsDataLoader()->Tree();}    //returns the tree from folder; shortcut method
    TTree*         TreeR() const
      {return GetRecPointsDataLoader()->Tree();} //returns the tree from folder; shortcut method
    TTree*         TreeT() const
      {return GetTracksDataLoader()->Tree();}    //returns the tree from folder; shortcut method
    TTree*         TreeP() const
      {return GetRecParticlesDataLoader()->Tree();} //returns the tree from folder; shortcut method

    Int_t          LoadHits(Option_t* opt=""){
      Int_t status = GetHitsDataLoader()->Load(opt);
      SetTAddrInDet();
      return status;
    }
    Int_t          LoadSDigits(Option_t* opt=""){
      Int_t status = GetSDigitsDataLoader()->Load(opt);
      SetTAddrInDet();
      return status;
    }
    Int_t          LoadDigits(Option_t* opt=""){
      Int_t status = GetDigitsDataLoader()->Load(opt);
      SetTAddrInDet();
      return status;
    }
    

    Int_t          LoadRecPoints(Option_t* opt="") {
      Int_t status = GetRecPointsDataLoader()->Load(opt);
      SetTAddrInDet();
      return status;
    }
    Int_t          LoadTracks(Option_t* opt="") {
      Int_t status = GetTracksDataLoader()->Load(opt);
      SetTAddrInDet();
      return status;
    }
    Int_t          LoadRecParticles(Option_t* opt="") {
      Int_t status = GetRecParticlesDataLoader()->Load(opt);
      SetTAddrInDet();
      return status;
    }

    void           UnloadHits() const {GetHitsDataLoader()->Unload();}
    void           UnloadSDigits() const {GetSDigitsDataLoader()->Unload();}
    void           UnloadDigits() const {GetDigitsDataLoader()->Unload();}
    void           UnloadRecPoints() const{GetRecPointsDataLoader()->Unload();}
    void           UnloadTracks() const {GetTracksDataLoader()->Unload();}
    void           UnloadRecParticles() const {GetRecParticlesDataLoader()->Unload();}
    void           UnloadAll();

    virtual Int_t  ReloadHits() const {return GetHitsDataLoader()->Reload();}  //unload and load again Hits
    virtual Int_t  ReloadSDigits() const {return GetSDigitsDataLoader()->Reload();} //unload and load again 
    virtual Int_t  ReloadDigits() const {return GetDigitsDataLoader()->Reload();} //unload and load again 
    virtual Int_t  ReloadRecPoints() const {return GetRecPointsDataLoader()->Reload();} //unload and load again 
    virtual Int_t  ReloadTracks() const {return GetTracksDataLoader()->Reload();} //unload and load again 
    virtual Int_t  ReloadRecParticles() const {return GetRecParticlesDataLoader()->Reload();} //unload and load again 
    virtual Int_t  ReloadAll(); //unload and load again everything that was loaded 
    
  //these methods writes object from folder to proper file
    virtual Int_t  WriteHits(Option_t* opt="") const;
    virtual Int_t  WriteSDigits(Option_t* opt="") const;
    virtual Int_t  WriteDigits(Option_t* opt="") const {return GetDigitsDataLoader()->WriteData(opt);}
    virtual Int_t  WriteRecPoints(Option_t* opt="") const {return GetRecPointsDataLoader()->WriteData(opt);}
    virtual Int_t  WriteTracks(Option_t* opt="") const {return GetTracksDataLoader()->WriteData(opt);}
    virtual Int_t  WriteRecParticles(Option_t* opt="") const {return GetRecParticlesDataLoader()->WriteData(opt);}

    
  //void SetTopFolder(TString& str){}; //Sets root top folder for the run
    
    void           SetHitsFileName(const TString& fname) const 
      {GetHitsDataLoader()->SetFileName(fname);}
    void           SetSDigitsFileName(const TString& fname) const 
      {GetSDigitsDataLoader()->SetFileName(fname);}
    void           SetDigitsFileName(const TString& fname) const
      {GetDigitsDataLoader()->SetFileName(fname);}
    void           SetRecPointsFileName(const TString& fname) const
      {GetRecPointsDataLoader()->SetFileName(fname);}
    void           SetTracksFileName(const TString& fname) const
      {GetTracksDataLoader()->SetFileName(fname);}
    void           SetRecParticlesFileName(const TString& fname) const
      {GetRecParticlesDataLoader()->SetFileName(fname);}

    const TString& GetHitsFileName() const 
      {return GetHitsDataLoader()->GetFileName();}
    const TString& GetSDigitsFileName() const 
      {return GetSDigitsDataLoader()->GetFileName();}
    const TString& GetDigitsFileName() const
      {return GetDigitsDataLoader()->GetFileName();}
    const TString& GetRecPointsFileName() const
      {return GetRecPointsDataLoader()->GetFileName();}
    const TString& GetTracksFileName() const
      {return GetTracksDataLoader()->GetFileName();}
    const TString& GetRecParticlesFileName() const
      {return GetRecParticlesDataLoader()->GetFileName();}
   
    virtual void  CleanHits() const
      {GetHitsDataLoader()->Clean();}       //cleans hits from folder
    virtual void  CleanSDigits() const
      {GetSDigitsDataLoader()->Clean();}    //cleans digits from folder
    virtual void  CleanDigits() const
      {GetDigitsDataLoader()->Clean();}     //cleans sdigits from folder
    virtual void  CleanRecPoints() const
      {GetRecPointsDataLoader()->Clean();}  //cleans rec. points from folder
    virtual void  CleanTracks() const
      {GetTracksDataLoader()->Clean();}     //cleans tracks from folder

    virtual void  SetHitsFileOption(Option_t* newopt) const
      {GetHitsDataLoader()->SetFileOption(newopt);}          //Sets Hits File Option in open
    virtual void  SetSDigitsFileOption(Option_t* newopt) const
      {GetSDigitsDataLoader()->SetFileOption(newopt);}    //Sets S. Digits File Option in open
    virtual void  SetDigitsFileOption(Option_t* newopt) const
      {GetDigitsDataLoader()->SetFileOption(newopt);}      //Sets Digits File Option in open
    virtual void  SetRecPointsFileOption(Option_t* newopt) const
      {GetRecPointsDataLoader()->SetFileOption(newopt);}//Sets Rec Ponoints File Option in open
    virtual void  SetTracksFileOption(Option_t* newopt) const
      {GetTracksDataLoader()->SetFileOption(newopt);}      //Sets Tracks File Option in open
    virtual void  SetRecParticlesFileOption(Option_t* newopt) const
      {GetRecParticlesDataLoader()->SetFileOption(newopt);}//Sets Rec Ponoints File Option in open
    
    virtual void  SetHitsComprLevel(Int_t cl) const
      {GetHitsDataLoader()->SetCompressionLevel(cl);}
    virtual void  SetDigitsComprLevel(Int_t cl) const
      {GetSDigitsDataLoader()->SetCompressionLevel(cl);}
    virtual void  SetSDigitsComprLevel(Int_t cl) const
      {GetDigitsDataLoader()->SetCompressionLevel(cl);}
    virtual void  SetRecPointsComprLevel(Int_t cl) const
      {GetRecPointsDataLoader()->SetCompressionLevel(cl);}
    virtual void  SetTracksComprLevel(Int_t cl) const
      {GetTracksDataLoader()->SetCompressionLevel(cl);}
    virtual void  SetRecParticlesComprLevel(Int_t cl) const
      {GetRecParticlesDataLoader()->SetCompressionLevel(cl);}
    
    virtual void  SetCompressionLevel(Int_t cl);//Sets compression level in all the files
    void          SetDirName(TString& name);//sets the directory name for all the I/O environment
    
    const TString& GetDetectorName() const{return fDetectorName;}//returns the name of the detector
    AliRunLoader*  GetRunLoader();//gets the run-getter from event folder
    
    void          SetDigitsFileNameSuffix(const TString& suffix) const;//adds the suffix before ".root", 
                                                          //e.g. TPC.Digits.root -> TPC.DigitsMerged.root
                                                              //made on Jiri Chudoba demand
    void Synchronize();

    /**********************************************/
    /***********     P U B L I C     **************/
    /*********       S T A T I C       ************/
    /*********         METHODS         ************/
    /*********     They are used by    ************/
    /*********** AliRunLoader as well**************/
    /**********************************************/
    static TDirectory* ChangeDir(TFile* file, Int_t eventno); //changes the root directory in "file" to directory corresponing to eventno
    static Bool_t      TestFileOption(Option_t* opt);//checks is file is created from scratch
    static Bool_t      IsOptionWritable(const TString& opt);
    
    static void        SetDebug(Int_t deb = 1);//Sets debugging information
    
   protected:

    /*********************************************/
    /************    PROTECTED      **************/
    /*********     M E T H O D S       ***********/
    /*********************************************/
    enum EDataTypes{kHits = 0,kSDigits,kDigits,kRecPoints,kTracks,kRecParticles,kNDataTypes};

    //Opens hits file and jumps to directory cooresponding to current event.
    //If dir does not exists try to create it
    //opt is passed to TFile::Open
    //reads data from the file and posts them into folder


    virtual Int_t PostHits() const
      {return GetHitsDataLoader()->GetBaseLoader(0)->Load();}
    virtual Int_t PostSDigits() const
      {return GetSDigitsDataLoader()->GetBaseLoader(0)->Load();}
    virtual Int_t PostDigits() const
      {return GetDigitsDataLoader()->GetBaseLoader(0)->Load();}
    virtual Int_t PostRecPoints() const
      {return GetRecPointsDataLoader()->GetBaseLoader(0)->Load();}
    virtual Int_t PostTracks() const
      {return GetTracksDataLoader()->GetBaseLoader(0)->Load();}
    virtual Int_t PostRecParticles() const
      {return GetRecParticlesDataLoader()->GetBaseLoader(0)->Load();}
    
    void          Clean();//calls clean for data loaders
    void          Clean(const TString& name);//removes and deletes object from data folder 
    
    
    TString       GetUnixDir() const;
    TObject*      GetDetectorData(const char* name){return GetDetectorDataFolder()->FindObject(name);}
    TObject**     GetDetectorDataRef(TObject* obj);
    
    virtual void InitDefaults();
    void ResetDataInfo();
    
    void SetTAddrInDet();//Call SetTreeAddress for corresponding detector

    /**********************************************/
    /************    PROTECTED      ***************/
    /*********        D A T A          ************/
    /**********************************************/
  
    TObjArray*    fDataLoaders; // array with data loaders each corresponds to 
                                // one data type (Hits, Digits, ...) 

    TString       fDetectorName;//detector name that this loader belongs to
    
    TFolder*      fEventFolder; //! Folder with data that changes from event to event, even in single run
    TFolder*      fDataFolder;  //!  Folder with data (hits, sdigits, etc, grouped in folders named like detectors
    TFolder*      fDetectorDataFolder;//!Folder that contains the detector data
    TFolder*      fModuleFolder;      //!Folder that contains the modules 

 // file option varible was introduced because if TFile is created with "recreate" 
 // stored option in TFile is "CREATE". We need to remeber "recreate" for
 // Max events per file functionality

    static const TString   fgkDefaultHitsContainerName;//default name of conatiner (TREE) for hits
    static const TString   fgkDefaultDigitsContainerName;//default name of conatiner (TREE) for digits
    static const TString   fgkDefaultSDigitsContainerName;//default name of conatiner (TREE) for Sdigits
    static const TString   fgkDefaultRecPointsContainerName;//default name of conatiner (TREE) for Rec Points
    static const TString   fgkDefaultTracksContainerName;//default name of conatiner (TREE) for Tracks
    static const TString   fgkDefaultRecParticlesContainerName;//default name of conatiner (TREE) for Reconstructed Particles
    static const TString   fgkLoaderBaseName;//base name of Loader: fDetectorName+fgkLoaderBaseName. i.e. PHOSLoader
    
   private:
    //descendant classes should
    //use protected interface methods to access these folders
    AliLoader(const AliLoader&); //Not implemented
    AliLoader& operator=(const AliLoader&); //Not implemented

    ClassDef(AliLoader,3)
 };
/******************************************************************/
/************************ I N L I N E S ***************************/
/******************************************************************/

inline TFolder* AliLoader::GetDetectorDataFolder()
 {
 //helper function which returns the folder of name "name" in data folder
   if(!fDetectorDataFolder)
    {
      fDetectorDataFolder = dynamic_cast<TFolder*>(GetDataFolder()->FindObject(fDetectorName.Data()));
      if(!fDetectorDataFolder)
       {
         Fatal("GetDetectorDataFolder",
               "Can not find folder %s in folder %s. Aborting",
               fDetectorName.Data(),GetDataFolder()->GetName());
         return 0x0;
       }
      
    }
   return fDetectorDataFolder;
 }

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