ROOT logo
#ifndef ALISTREAM_H
#define ALISTREAM_H
/* Copyright(c) 1998-2000, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

////////////////////////////////////////////////////////////////////////
//
//  Class to handle files on IO
//  Handles files and returns serial event number                  
//  Author: Jiri Chudoba (CERN), 2001
//
////////////////////////////////////////////////////////////////////////

// --- ROOT system ---
#include <TNamed.h>

// --- AliRoot header files ---
class TObjArray;
class TFile;

class TString;

class AliStream: public TNamed {

public:
  AliStream();
  AliStream(const char* foldername, Option_t *optioneventfoldername);
  AliStream(const AliStream &as);
  AliStream & operator = (const AliStream & as) 
    {as.Copy(*this); return *this;}
  virtual ~AliStream();

  void       AddFile(const char *fileName);
  Bool_t     NextEventInStream();
  Bool_t     OpenNextFile();//returns kFALSE in case of failure
  Bool_t     ImportgAlice();
  void       ChangeMode(Option_t* option);     // reset READ or UPDATE mode
 
  const TString& GetFolderName() const{return fEventFolderName;}
  Int_t GetNInputFiles() const {return fFileNames->GetLast()+1;}
  TString GetFileName(Int_t order) const;
  void SetFolderName(const TString name) { fEventFolderName = name ; }
  Int_t GetCurrentEventNumber() const { return fLastEventSerialNr ; }
    
private:  

  void Copy(TObject & as) const;

  Int_t      fLastEventSerialNr;     // Serial number of last event
  Int_t      fLastEventNr;           // Number of last event
  Int_t      fCurrentFileIndex;      // Index of current file
  Int_t      fEvents;                //! nr. of events in the current file
  TString    fMode;                  // = 0 for READONLY, = 1 for READWRITE
  TObjArray* fFileNames;             // List of file names
  
  TString fEventFolderName; //Name of the folder where data for this stram will be mounted
  
  ClassDef(AliStream,1)
};

#endif // ALISTREAM_H
 AliStream.h:1
 AliStream.h:2
 AliStream.h:3
 AliStream.h:4
 AliStream.h:5
 AliStream.h:6
 AliStream.h:7
 AliStream.h:8
 AliStream.h:9
 AliStream.h:10
 AliStream.h:11
 AliStream.h:12
 AliStream.h:13
 AliStream.h:14
 AliStream.h:15
 AliStream.h:16
 AliStream.h:17
 AliStream.h:18
 AliStream.h:19
 AliStream.h:20
 AliStream.h:21
 AliStream.h:22
 AliStream.h:23
 AliStream.h:24
 AliStream.h:25
 AliStream.h:26
 AliStream.h:27
 AliStream.h:28
 AliStream.h:29
 AliStream.h:30
 AliStream.h:31
 AliStream.h:32
 AliStream.h:33
 AliStream.h:34
 AliStream.h:35
 AliStream.h:36
 AliStream.h:37
 AliStream.h:38
 AliStream.h:39
 AliStream.h:40
 AliStream.h:41
 AliStream.h:42
 AliStream.h:43
 AliStream.h:44
 AliStream.h:45
 AliStream.h:46
 AliStream.h:47
 AliStream.h:48
 AliStream.h:49
 AliStream.h:50
 AliStream.h:51
 AliStream.h:52
 AliStream.h:53
 AliStream.h:54
 AliStream.h:55
 AliStream.h:56
 AliStream.h:57
 AliStream.h:58
 AliStream.h:59
 AliStream.h:60
 AliStream.h:61
 AliStream.h:62
 AliStream.h:63