68175c19f286bb5114582cd46e5dc170eb6d474b
[u/mrichter/AliRoot.git] / RALICE / icepack / iceconvert / IceF2k.h
1 #ifndef IceF2k_h
2 #define IceF2k_h
3
4 // Copyright(c) 2003, IceCube Experiment at the South Pole, All rights reserved.
5 // See cxx source for full Copyright notice.
6
7 // $Id$
8
9 #include "TObject.h"
10 #include "TChain.h"
11 #include "TFile.h"
12 #include "TDatabasePDG.h"
13 #include "TString.h"
14
15 #include "AliObjMatrix.h"
16
17 #include "IceAOM.h"
18 #include "IceEvent.h"
19
20 #include "rdmc.h"
21
22 class IceF2k : public TObject
23 {
24  public :
25   IceF2k(char* fname=0,Int_t split=0,Int_t bsize=32000);         // Constructor
26   virtual ~IceF2k();                                             // Destructor
27   void Loop(TTree* otree=0,Int_t nentries=-1,Int_t printfreq=1); // Perform the format conversion
28   TDatabasePDG* GetPDG();     // Provide pointer to the PDG database
29   AliObjMatrix* GetOMdbase(); // Provide pointer to the OM geometry, calib. etc... database
30   AliDevice* GetFitdefs();    // Provide pointer to the Fit definition parameters
31
32  protected :
33   Int_t fSplit; // The split level of the produced ROOT data file
34   Int_t fBsize; // The buffersize of the produced ROOT data file
35
36   TDatabasePDG* fPdg;  // Database with PDG information
37   AliObjMatrix* fOmdb; // Database of all OM devices with their geometry, calib. etc... data
38   AliDevice* fFitdefs; // Fit definitions as indicated in the header of the F2000 input file
39
40   void FillOMdbase();                // Fill geometry and calib. parameters of all devices
41   void SetFitdefs();                 // Set the fit definitions as used in the F2000 input file
42   void PutMcTracks(IceEvent* evt);   // Put the MC tracks from the F2000 file into the IcePack structure
43   void PutRecoTracks(IceEvent* evt); // Put the reconstructed tracks from the F2000 file into the IcePack structure
44   void PutHits(IceEvent* evt);       // Put the hits and waveforms from the F2000 file into the IcePack structure
45
46   mcfile* fInput;  //! Structure holding the input file characteristics
47   array   fHeader; //! Structure holding the file header info
48   mevt    fEvent;  //! Structure holding the actual event data (hits, tracks, etc...)
49
50  ClassDef(IceF2k,1) // Conversion of F2K data into IceEvent physics event structures.
51 };
52 #endif