#ifndef ALIDIGITIZATIONINPUT_H
#define ALIDIGITIZATIONINPUT_H
#include "TArrayI.h"
#include "TNamed.h"
#include "TClonesArray.h"
class TFile;
class TParticle;
class TTree;
#include "AliStream.h"
class AliDigitizer;
class AliMergeCombi;
class AliRunLoader;
#define MAXSTREAMSTOMERGE 4
class AliDigitizationInput: public TNamed {
public:
AliDigitizationInput();
AliDigitizationInput(Int_t nInputStreams, Int_t sperb=1);
virtual ~AliDigitizationInput();
void SetOutputFile(TString fn);
TString GetOutputFile() const {return fOutputFileName;}
void SetOutputDir(TString dn) {fOutputDirName = dn;}
TString GetOutputDir() const {return fOutputDirName;}
void SetInputStream(Int_t stream, const char *inputName, TString foldername = "");
void SetFirstOutputEventNr(Int_t i) {fEvent = i;}
void SetNrOfEventsToWrite(Int_t i) {fNrOfEventsToWrite = i;}
void SetCopyTreesFromInput(Int_t i) {fCopyTreesFromInput = i;}
Int_t GetCopyTreesFromInput() const {return fCopyTreesFromInput;}
Int_t GetOutputEventNr() const {return fEvent;}
void SetCombinationFileName(TString fn) {fCombinationFileName = fn;}
TString GetCombinationFileName() const {return fCombinationFileName;}
Int_t GetMask(Int_t i) const {return fkMASK[i];}
void SetRegionOfInterest(Bool_t flag) {fRegionOfInterest = flag;};
Bool_t GetRegionOfInterest() const {return fRegionOfInterest;};
Int_t GetNinputs() const {return fNinputs;}
const TString& GetInputFolderName(Int_t i) const;
const char* GetOutputFolderName();
Int_t GetNParticles(Int_t event) const;
Int_t GetNParticles(Int_t event, Int_t input) const;
Int_t* GetInputEventNumbers(Int_t event) const;
Int_t GetInputEventNumber(Int_t event, Int_t input) const;
AliStream * GetInputStream(Int_t index) const { return dynamic_cast<AliStream *>(fInputStreams->At(index)) ; }
TParticle* GetParticle(Int_t i, Int_t event) const;
TParticle* GetParticle(Int_t i, Int_t input, Int_t event) const;
TString GetInputFileName(Int_t input, Int_t order) const;
AliRunLoader* GetOutRunLoader();
Bool_t ConnectInputTrees();
Bool_t InitOutputGlobal();
void InitEvent();
void FinishEvent();
void FinishGlobal();
private:
AliDigitizationInput(const AliDigitizationInput& dig);
AliDigitizationInput& operator=(const AliDigitizationInput& dig);
void Copy(TObject& dig) const;
Int_t fkMASK[MAXSTREAMSTOMERGE];
Int_t fkMASKSTEP;
TString fOutputFileName;
TString fOutputDirName;
Int_t fEvent;
Int_t fNrOfEventsToWrite;
Int_t fNrOfEventsWritten;
Int_t fCopyTreesFromInput;
Int_t fNinputs;
Int_t fNinputsGiven;
Bool_t fRegionOfInterest;
TClonesArray * fInputStreams;
AliRunLoader* fOutRunLoader;
Bool_t fOutputInitialized;
AliMergeCombi * fCombi;
TArrayI fCombination;
TString fCombinationFileName;
static const TString fgkDefOutFolderName;
static const TString fgkBaseInFolderName;
ClassDef(AliDigitizationInput,2)
};
#endif // ALIRUNDIGITIZER_H
AliDigitizationInput.h:10 AliDigitizationInput.h:11 AliDigitizationInput.h:12 AliDigitizationInput.h:13 AliDigitizationInput.h:14 AliDigitizationInput.h:15 AliDigitizationInput.h:16 AliDigitizationInput.h:17 AliDigitizationInput.h:18 AliDigitizationInput.h:19 AliDigitizationInput.h:20 AliDigitizationInput.h:21 AliDigitizationInput.h:22 AliDigitizationInput.h:23 AliDigitizationInput.h:24 AliDigitizationInput.h:25 AliDigitizationInput.h:26 AliDigitizationInput.h:27 AliDigitizationInput.h:28 AliDigitizationInput.h:29 AliDigitizationInput.h:30 AliDigitizationInput.h:31 AliDigitizationInput.h:32 AliDigitizationInput.h:33 AliDigitizationInput.h:34 AliDigitizationInput.h:35 AliDigitizationInput.h:36 AliDigitizationInput.h:37 AliDigitizationInput.h:38 AliDigitizationInput.h:39 AliDigitizationInput.h:40 AliDigitizationInput.h:41 AliDigitizationInput.h:42 AliDigitizationInput.h:43 AliDigitizationInput.h:44 AliDigitizationInput.h:45 AliDigitizationInput.h:46 AliDigitizationInput.h:47 AliDigitizationInput.h:48 AliDigitizationInput.h:49 AliDigitizationInput.h:50 AliDigitizationInput.h:51 AliDigitizationInput.h:52 AliDigitizationInput.h:53 AliDigitizationInput.h:54 AliDigitizationInput.h:55 AliDigitizationInput.h:56 AliDigitizationInput.h:57 AliDigitizationInput.h:58 AliDigitizationInput.h:59 AliDigitizationInput.h:60 AliDigitizationInput.h:61 AliDigitizationInput.h:62 AliDigitizationInput.h:63 AliDigitizationInput.h:64 AliDigitizationInput.h:65 AliDigitizationInput.h:66 AliDigitizationInput.h:67 AliDigitizationInput.h:68 AliDigitizationInput.h:69 AliDigitizationInput.h:70 AliDigitizationInput.h:71 AliDigitizationInput.h:72 AliDigitizationInput.h:73 AliDigitizationInput.h:74 AliDigitizationInput.h:75 AliDigitizationInput.h:76 AliDigitizationInput.h:77 AliDigitizationInput.h:78 AliDigitizationInput.h:79 AliDigitizationInput.h:80 AliDigitizationInput.h:81 AliDigitizationInput.h:82 AliDigitizationInput.h:83 AliDigitizationInput.h:84 AliDigitizationInput.h:85 AliDigitizationInput.h:86 AliDigitizationInput.h:87 AliDigitizationInput.h:88 AliDigitizationInput.h:89 AliDigitizationInput.h:90 AliDigitizationInput.h:91 AliDigitizationInput.h:92 AliDigitizationInput.h:93 AliDigitizationInput.h:94 AliDigitizationInput.h:95 AliDigitizationInput.h:96 AliDigitizationInput.h:97 AliDigitizationInput.h:98 AliDigitizationInput.h:99 AliDigitizationInput.h:100 AliDigitizationInput.h:101 AliDigitizationInput.h:102 AliDigitizationInput.h:103 AliDigitizationInput.h:104 AliDigitizationInput.h:105 AliDigitizationInput.h:106 AliDigitizationInput.h:107 AliDigitizationInput.h:108 AliDigitizationInput.h:109 AliDigitizationInput.h:110 AliDigitizationInput.h:111 AliDigitizationInput.h:112 AliDigitizationInput.h:113 AliDigitizationInput.h:114 AliDigitizationInput.h:115 AliDigitizationInput.h:116 AliDigitizationInput.h:117 AliDigitizationInput.h:118 AliDigitizationInput.h:119 AliDigitizationInput.h:120 AliDigitizationInput.h:121 AliDigitizationInput.h:122 AliDigitizationInput.h:123 AliDigitizationInput.h:124 AliDigitizationInput.h:125 AliDigitizationInput.h:126 AliDigitizationInput.h:127 AliDigitizationInput.h:128 AliDigitizationInput.h:129 AliDigitizationInput.h:130 AliDigitizationInput.h:131 AliDigitizationInput.h:132 AliDigitizationInput.h:133 AliDigitizationInput.h:134 AliDigitizationInput.h:135