]>
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" |
88b8d522 | 12 | #include "TObjString.h" |
13 | #include "TObjArray.h" | |
5481c137 | 14 | #include "TDatabasePDG.h" |
f67e2651 | 15 | |
5481c137 | 16 | #include "AliJob.h" |
f67e2651 | 17 | #include "AliObjMatrix.h" |
18 | ||
19 | #include "IceAOM.h" | |
20 | #include "IceEvent.h" | |
21 | ||
22 | #include "rdmc.h" | |
23 | ||
5481c137 | 24 | class IceF2k : public AliJob |
f67e2651 | 25 | { |
26 | public : | |
5481c137 | 27 | IceF2k(const char* name="IceF2k",const char* title=""); // Constructor |
28 | virtual ~IceF2k(); // Destructor | |
29 | void SetMaxEvents(Int_t n); // Set maximum number of events to be processed | |
30 | void SetPrintFreq(Int_t f); // Set printfrequency to provide info every f events | |
31 | void SetSplitLevel(Int_t split); // Set split level for the produced ROOT data file | |
32 | void SetBufferSize(Int_t bsize); // Set buffersize for the produced ROO data file | |
88b8d522 | 33 | void SetInputFile(TString name); // Set name of F2K input file (obsolete) |
34 | void AddInputFile(TString name); // Add name of F2K input file to the list | |
f5b75967 | 35 | void SetOutputFile(TFile* ofile); // Set output file for the ROOT data structures |
36 | void SetOutputFile(TString name); // Create output file for the ROOT data structures | |
97a09735 | 37 | void SetMcToffset(Float_t toffset); // Set user defined time offset for MC data |
f5b75967 | 38 | TFile* GetOutputFile(); // Provide pointer to the ROOT output file |
5481c137 | 39 | TDatabasePDG* GetPDG(); // Provide pointer to the PDG database |
40 | AliObjMatrix* GetOMdbase(); // Provide pointer to the OM geometry, calib. etc... database | |
41 | AliDevice* GetFitdefs(); // Provide pointer to the Fit definition parameters | |
69884331 | 42 | AliDevice* GetTrigdefs(); // Provide pointer to the Fit definition parameters |
5481c137 | 43 | virtual void Exec(Option_t* opt); // Perform the format conversion |
f67e2651 | 44 | |
45 | protected : | |
88b8d522 | 46 | Int_t fSplit; // The split level of the produced ROOT data file |
47 | Int_t fBsize; // The buffersize of the produced ROOT data file | |
48 | Int_t fMaxevt; // The maximum number of events to be processed | |
49 | Int_t fPrintfreq; // The event info printing frequency | |
50 | TObjArray* fInfiles; // Names of all the F2K input files | |
51 | TFile* fOutfile; // The ROOT output file | |
f67e2651 | 52 | |
69884331 | 53 | TDatabasePDG* fPdg; // Database with PDG information |
54 | AliObjMatrix* fOmdb; // Database of all OM devices with their geometry, calib. etc... data | |
55 | AliDevice* fFitdefs; // Fit definitions as indicated in the header of the F2000 input file | |
56 | AliDevice* fTrigdefs; // Trigger definitions as indicated in the header of the F2000 input file | |
97a09735 | 57 | Float_t fToffset; // Trigger time offset which might have been introduced during filtering |
58 | Float_t fMctoffset; // Trigger time offset which might have been introduced during MC generation | |
f67e2651 | 59 | |
5481c137 | 60 | void FillOMdbase(); // Fill geometry and calib. parameters of all devices |
61 | void SetFitdefs(); // Set the fit definitions as used in the F2000 input file | |
69884331 | 62 | void SetTrigdefs(); // Set the trigger definitions as used in the F2000 input file |
5481c137 | 63 | void PutMcTracks(); // Put the MC tracks from the F2000 file into the IcePack structure |
64 | void PutRecoTracks(); // Put the reconstructed tracks from the F2000 file into the IcePack structure | |
65 | void PutHits(); // Put the hits and waveforms from the F2000 file into the IcePack structure | |
69884331 | 66 | void PutTrigger(); // Put the trigger information from the F2000 file into the IcePack structure |
f67e2651 | 67 | |
68 | mcfile* fInput; //! Structure holding the input file characteristics | |
69 | array fHeader; //! Structure holding the file header info | |
70 | mevt fEvent; //! Structure holding the actual event data (hits, tracks, etc...) | |
71 | ||
97a09735 | 72 | ClassDef(IceF2k,6) // Job for conversion of F2K data into IceEvent physics event structures. |
f67e2651 | 73 | }; |
74 | #endif |