StHbtMuDstMakerReader.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. /***************************************************************************
  2. *
  3. * $Id: StHbtMuDstMakerReader.h,v 1.3 2004/02/19 21:41:16 magestro Exp $
  4. * Author: Frank Laue, BNL, laue@bnl.gov
  5. ***************************************************************************/
  6. #ifndef StHbtMuDstMakerReader_hh
  7. #define StHbtMuDstMakerReader_hh
  8. #include <string>
  9. #include "StMaker.h"
  10. #include "StChain.h"
  11. #include "St_DataSetIter.h"
  12. #include "StMuDSTMaker/COMMON/StMuDstMaker.h"
  13. #include "StMuDSTMaker/COMMON/StMuPrimaryVertex.h" //Needed for the primary vertex loop
  14. #include "Base/StHbtEventReader.hh"
  15. class StMuEvent;
  16. class StMuDst;
  17. class StMuCut;
  18. class StMuPrimaryVertex;
  19. class StEvent;
  20. class StTrackNode;
  21. class StTrack;
  22. class StRichSpectra;
  23. class StDetectorState;
  24. class StL3AlgorithmInfo;
  25. class StuProbabilityPidAlgorithm;
  26. /// strangeness group stuff
  27. class StStrangeEvMuDst;
  28. class StStrangeMuDstMaker;
  29. class StV0MuDst;
  30. class StV0Mc;
  31. class StXiMuDst;
  32. class StXiMc;
  33. class StKinkMuDst;
  34. class StKinkMc;
  35. class StStrangeAssoc;
  36. /// flowstuff
  37. class StFlowMaker;
  38. class StMuCut;
  39. class TFile;
  40. class TTree;
  41. class TChain;
  42. class TClonesArray;
  43. //!class ioMode;//!enum ioMode {ioRead, ioWrite};
  44. //!class ioNameMode;//!enum ioNameMode {ioFix, ioAuto};
  45. class StHbtMuDstMakerReader : public StHbtEventReader {
  46. public:
  47. StHbtMuDstMakerReader(StMuDstMaker* maker);
  48. ~StHbtMuDstMakerReader();
  49. StHbtEvent* ReturnHbtEvent();
  50. int Init();
  51. int Init(const char* ReadWrite, StHbtString& Message)
  52. { return StHbtEventReader::Init(ReadWrite,Message);}//WarnOff
  53. void Clear();
  54. void clear();
  55. void Finish();
  56. bool readTracks();
  57. bool readV0s();
  58. bool readXis();
  59. bool readKinks();
  60. unsigned int trackType();
  61. StMuDst* muDst();
  62. StStrangeMuDstMaker* stStrangeMuDstMaker();
  63. StFlowMaker* flowMaker();
  64. void setProbabilityPidFile(const char* file);
  65. void setFlowMaker(StFlowMaker*);
  66. void setTrackType(unsigned int);
  67. void setReadTracks(bool);
  68. void setReadV0s(bool);
  69. void setReadXis(bool);
  70. void setReadKinks(bool);
  71. //added by gnigmat
  72. void AddTriggerId(const unsigned int& id);
  73. enum ioMode {ioRead, ioWrite};
  74. enum ioNameMode {ioFix, ioAuto};
  75. private:
  76. StMuDst* mMuDst;
  77. StStrangeMuDstMaker *mStStrangeMuDstMaker;
  78. StFlowMaker *mFlowMaker;
  79. StMuDstMaker *mMuDstMaker;
  80. StMuPrimaryVertex *mPrimVert; //For the vertex loop
  81. //added by gnigmat
  82. vector<unsigned int> mTriggerIdCollection;
  83. ioMode mIoMode;
  84. ioNameMode mIoNameMode;
  85. string mDirName;
  86. string mFileName;
  87. string mFilter;
  88. int mMaxFiles;
  89. unsigned int mTrackType;
  90. bool mReadTracks;
  91. bool mReadV0s;
  92. bool mReadXis;
  93. bool mReadKinks;
  94. bool mFinish;
  95. TFile* mCurrentFile;
  96. string mCurrentFileName;
  97. int mEventCounter;
  98. StHbtEvent* mHbtEvent;
  99. StuProbabilityPidAlgorithm* mProbabilityPidAlgorithm;
  100. ClassDef(StHbtMuDstMakerReader, 1)
  101. };
  102. inline StMuDst* StHbtMuDstMakerReader::muDst() { return mMuDst;}
  103. inline void StHbtMuDstMakerReader::setFlowMaker(StFlowMaker* f) {mFlowMaker=f;}
  104. inline StFlowMaker* StHbtMuDstMakerReader::flowMaker() {return mFlowMaker;}
  105. inline void StHbtMuDstMakerReader::setTrackType(unsigned int t) {mTrackType=t;}
  106. inline unsigned int StHbtMuDstMakerReader::trackType() {return mTrackType;}
  107. inline bool StHbtMuDstMakerReader::readTracks() { return mReadTracks;}
  108. inline bool StHbtMuDstMakerReader::readV0s() { return mReadV0s;}
  109. inline bool StHbtMuDstMakerReader::readXis() { return mReadXis;}
  110. inline bool StHbtMuDstMakerReader::readKinks() { return mReadKinks;}
  111. inline void StHbtMuDstMakerReader::setReadTracks(bool b) { mReadTracks=b;}
  112. inline void StHbtMuDstMakerReader::setReadV0s(bool b) { mReadV0s=b;}
  113. inline void StHbtMuDstMakerReader::setReadXis(bool b) { mReadXis=b;}
  114. inline void StHbtMuDstMakerReader::setReadKinks(bool b) { mReadKinks=b;}
  115. //added by gnigmat
  116. inline void StHbtMuDstMakerReader::AddTriggerId(const unsigned int& id)
  117. {mTriggerIdCollection.push_back(id);}
  118. #endif
  119. /***************************************************************************
  120. *
  121. * $Log: StHbtMuDstMakerReader.h,v $
  122. * Revision 1.3 2004/02/19 21:41:16 magestro
  123. * Removed class StIOMaker declaration
  124. *
  125. * Revision 1.2 2003/09/07 03:49:02 perev
  126. * gcc 3.2 + WarnOff
  127. *
  128. * Revision 1.1 2002/08/27 18:21:26 laue
  129. * New reader. Wrapper around the StMuDstMaker
  130. *
  131. *
  132. **************************************************************************/