]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCFileHandler.h
effC++ and warnings
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCFileHandler.h
CommitLineData
a6c02c85 1// @(#) $Id$
4aa41877 2// Original: AliHLTFileHandler.h,v 1.19 2004/06/11 16:06:33 loizides
a6c02c85 3
4#ifndef ALIHLTTPCFILEHANDLER_H
5#define ALIHLTTPCFILEHANDLER_H
6
7#include "AliHLTTPCMemHandler.h"
8
9class TClonesArray;
10
95d48915 11class AliSimDigits;
12class AliTPCParam;
a6c02c85 13#include <AliRunLoader.h>
a6c02c85 14
95d48915 15class TObject;
16class TFile;
17class TTree;
600e6a1b 18#include "AliHLTLogging.h"
a6c02c85 19
20class AliHLTTPCSpacePointData;
21class AliHLTTPCDigitRowData;
22class AliHLTTPCTrackSegmentData;
23class AliHLTTPCTrackArray;
24
95d48915 25/**
26 * class AliHLTTPCFileHandler
27 * This is the input interface class for the TPC tracking code before conversion to
28 * the HLT component framework.
29 *
30 */
600e6a1b 31class AliHLTTPCFileHandler:public AliHLTTPCMemHandler, public AliHLTLogging {
a6c02c85 32
a6c02c85 33 public:
600e6a1b 34 /** standard constructor */
a6c02c85 35 AliHLTTPCFileHandler(Bool_t b=kFALSE);
600e6a1b 36 /** not a valid copy constructor, defined according to effective C++ style */
37 AliHLTTPCFileHandler(const AliHLTTPCFileHandler&);
38 /** not a valid assignment op, but defined according to effective C++ style */
39 AliHLTTPCFileHandler& operator=(const AliHLTTPCFileHandler&);
40 /** destructor */
95d48915 41 virtual ~AliHLTTPCFileHandler();
a6c02c85 42
43 void FreeDigitsTree();
44 static void CleanStaticIndex();
45 static Int_t SaveStaticIndex(Char_t *prefix=0,Int_t event=0);
46 static Int_t LoadStaticIndex(Char_t *prefix=0,Int_t event=0);
47
48 Bool_t SetAliInput(Char_t *name);
a6c02c85 49 Bool_t SetAliInput(AliRunLoader *runLoader);
a6c02c85 50 void CloseAliInput();
51 Bool_t IsDigit(Int_t event);
52
53 Bool_t SetMCOutput(Char_t *name);
54 Bool_t SetMCOutput(FILE *file);
55 void CloseMCOutput();
56
57 //Digit IO
58 Bool_t AliDigits2Binary(Int_t event=0,Bool_t altro=kFALSE);
59 AliHLTTPCDigitRowData *AliDigits2Memory(UInt_t & nrow,Int_t event=0); //Allocates Memory
60 AliHLTTPCDigitRowData *AliAltroDigits2Memory(UInt_t & nrow,Int_t event=0,Bool_t eventmerge=kFALSE);
61 //Allocates Memory
62 Bool_t AliDigits2CompBinary(Int_t event=0,Bool_t altro=kFALSE);
95d48915 63 void AliDigits2RootFile(AliHLTTPCDigitRowData *rowPt,Char_t *newDigitsfile);
a6c02c85 64
65 //Point IO
66 Bool_t AliPoints2Binary(Int_t eventn=0);
67 AliHLTTPCSpacePointData *AliPoints2Memory(UInt_t & npoint,Int_t eventn=0);//Allocates Memory
68
2a083ac4 69 protected:
70 AliRunLoader *fInAli;//!
71 Bool_t fUseRunLoader; //use runloader
72
73 AliTPCParam *fParam;//!
74 AliSimDigits *fDigits;//!
75
76 TTree *fDigitsTree;//!
77 FILE *fMC;//!
78
79 Bool_t fIndexCreated; //is index created
80 Int_t fIndex[36][159]; //stores index over digitstree
81 //for faster access w/o ASVVERSION
82 Bool_t fUseStaticIndex; //take static index
83 static Bool_t fgStaticIndexCreated; //global index created
84 static Int_t fgStaticIndex[36][159]; //global index
85
86 virtual Bool_t SetAliInput();
87 Bool_t GetDigitsTree(Int_t event);
88 Bool_t CreateIndex(); //create the index
89
a6c02c85 90 ClassDef(AliHLTTPCFileHandler,1) //Filehandler class
91};
92
93#endif