MpdDstCompressTask.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * MpdDstWriteTask.h
  3. *
  4. * Created on: 23 lut 2018
  5. * Author: Daniel Wielanek
  6. * E-mail: daniel.wielanek@gmail.com
  7. * Warsaw University of Technology, Faculty of Physics
  8. */
  9. #ifndef MPDDST_MPDDSTCOMPRESSTASK_H_
  10. #define MPDDST_MPDDSTCOMPRESSTASK_H_
  11. #include "FairTask.h"
  12. #include "MpdEvent.h"
  13. #include "FairEventHeader.h"
  14. #include "FairLogger.h"
  15. #include <TClonesArray.h>
  16. /**
  17. * class to write only miniaml output to new root file
  18. * (MpdEvent + event header)
  19. */
  20. class MpdDstCompressTask: public FairTask{
  21. protected:
  22. Bool_t fUseMC;
  23. Bool_t fUseFreezouts;
  24. Bool_t fUseTpcKalmans;
  25. Bool_t fUseTpcHits;
  26. Bool_t fUseHeader;
  27. Bool_t fMCCompression;
  28. MpdEvent *fMpdEvent;
  29. TClonesArray *fFreezouts;
  30. TClonesArray *fMCTracks;
  31. TClonesArray *fTpcKalmans;
  32. TClonesArray *fTpcHits;
  33. Int_t fMCMapSize;
  34. Int_t *fMCIndexMap; //[fMCMapSize]
  35. virtual InitStatus CheckBranches();
  36. public:
  37. MpdDstCompressTask();
  38. MpdDstCompressTask(const char *name , Int_t Verbose=1);
  39. void RegisterMC(Bool_t compress=kFALSE){fUseMC=kTRUE;fMCCompression=compress;};
  40. void RegisterMCFreezouts(){fUseFreezouts = kTRUE;};
  41. void RegisterTpcKalmans(){fUseTpcKalmans = kTRUE;};
  42. void RegisterTpcHits(){fUseTpcHits = kTRUE;};
  43. void RegisterEventHeader(){fUseHeader = kTRUE;};
  44. virtual InitStatus Init();
  45. virtual void Exec(Option_t *option);
  46. virtual ~MpdDstCompressTask();
  47. ClassDef(MpdDstCompressTask,1)
  48. };
  49. #endif /* MPDDST_MPDDSTCOMPRESSTASK_H_ */