]>
Commit | Line | Data |
---|---|---|
f67e2651 | 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 | ||
f67e2651 | 9 | #include "TFile.h" |
5481c137 | 10 | #include "TTree.h" |
f67e2651 | 11 | #include "TString.h" |
5481c137 | 12 | #include "TDatabasePDG.h" |
f67e2651 | 13 | |
5481c137 | 14 | #include "AliJob.h" |
f67e2651 | 15 | #include "AliObjMatrix.h" |
16 | ||
17 | #include "IceAOM.h" | |
18 | #include "IceEvent.h" | |
19 | ||
20 | #include "rdmc.h" | |
21 | ||
5481c137 | 22 | class IceF2k : public AliJob |
f67e2651 | 23 | { |
24 | public : | |
5481c137 | 25 | IceF2k(const char* name="IceF2k",const char* title=""); // Constructor |
26 | virtual ~IceF2k(); // Destructor | |
27 | void SetMaxEvents(Int_t n); // Set maximum number of events to be processed | |
28 | void SetPrintFreq(Int_t f); // Set printfrequency to provide info every f events | |
29 | void SetSplitLevel(Int_t split); // Set split level for the produced ROOT data file | |
30 | void SetBufferSize(Int_t bsize); // Set buffersize for the produced ROO data file | |
31 | void SetInputFile(TString name); // Set name of F2K input file | |
32 | void SetOutputFile(TFile* ofile); // Set output file for the ROOT data structures | |
33 | TDatabasePDG* GetPDG(); // Provide pointer to the PDG database | |
34 | AliObjMatrix* GetOMdbase(); // Provide pointer to the OM geometry, calib. etc... database | |
35 | AliDevice* GetFitdefs(); // Provide pointer to the Fit definition parameters | |
36 | virtual void Exec(Option_t* opt); // Perform the format conversion | |
f67e2651 | 37 | |
38 | protected : | |
5481c137 | 39 | Int_t fSplit; // The split level of the produced ROOT data file |
40 | Int_t fBsize; // The buffersize of the produced ROOT data file | |
41 | Int_t fMaxevt; // The maximum number of events to be processed | |
42 | Int_t fPrintfreq; // The event info printing frequency | |
43 | TString fInfile; // Name of the F2K input file | |
44 | TFile* fOutfile; // The ROOT output file | |
f67e2651 | 45 | |
46 | TDatabasePDG* fPdg; // Database with PDG information | |
47 | AliObjMatrix* fOmdb; // Database of all OM devices with their geometry, calib. etc... data | |
48 | AliDevice* fFitdefs; // Fit definitions as indicated in the header of the F2000 input file | |
49 | ||
5481c137 | 50 | void FillOMdbase(); // Fill geometry and calib. parameters of all devices |
51 | void SetFitdefs(); // Set the fit definitions as used in the F2000 input file | |
52 | void PutMcTracks(); // Put the MC tracks from the F2000 file into the IcePack structure | |
53 | void PutRecoTracks(); // Put the reconstructed tracks from the F2000 file into the IcePack structure | |
54 | void PutHits(); // Put the hits and waveforms from the F2000 file into the IcePack structure | |
f67e2651 | 55 | |
56 | mcfile* fInput; //! Structure holding the input file characteristics | |
57 | array fHeader; //! Structure holding the file header info | |
58 | mevt fEvent; //! Structure holding the actual event data (hits, tracks, etc...) | |
59 | ||
5481c137 | 60 | ClassDef(IceF2k,2) // Job for conversion of F2K data into IceEvent physics event structures. |
f67e2651 | 61 | }; |
62 | #endif |