StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StETofHeader.h
1 /***************************************************************************
2  *
3  * $Id: StETofHeader.h,v 2.3 2021/03/19 19:56:50 ullrich Exp $
4  *
5  * Author: Pengfei Lyu, April 2018
6  ***************************************************************************
7  *
8  * Description: This class stores ETofHeader information from the DAQ stream,
9  * e.g. trigger time and STAR time (reset time stamp of the bTOF clock)
10  * and other event-wise information
11  *
12  ***************************************************************************
13  *
14  * $Log: StETofHeader.h,v $
15  * Revision 2.3 2021/03/19 19:56:50 ullrich
16  * include the front-end missmatch pattern (Philipp)
17  *
18  * Revision 2.2 2019/08/01 22:52:19 smirnovd
19  * Add non-c++ include defining uint64_t for rootcint
20  *
21  * rootcint is not c++11 aware and therefore cannot deal with the standard c++
22  * header <cstdint>
23  *
24  * Revision 2.1 2018/07/09 14:53:48 ullrich
25  * Initial Revision.
26  *
27  *
28  ***************************************************************************/
29 #ifndef STETOFHEADER_H
30 #define STETOFHEADER_H
31 
32 #include <stdint.h>
33 #include <map>
34 #include <vector>
35 
36 
37 #include <Stiostream.h>
38 #include "StObject.h"
39 
40 class StETofHeader : public StObject {
41 public:
42 
43  StETofHeader();
47  StETofHeader( const double&, const double&, const map< unsigned int, uint64_t >&, const map< unsigned int, uint64_t >& ,
48  const unsigned int&, const unsigned int&, const unsigned int&, const uint64_t& );
52  StETofHeader( const double&, const double&, const map< unsigned int, uint64_t >&, const map< unsigned int, uint64_t >& ,
53  const unsigned int&, const unsigned int&, const unsigned int&, const uint64_t&, const std::vector<bool>& );
57  StETofHeader( const double&, const double&, const map< unsigned int, uint64_t >&, const map< unsigned int, uint64_t >& ,
58  const unsigned int&, const unsigned int&, const unsigned int&, const uint64_t&, const std::vector<bool>&, const std::vector<bool>& , const std::vector<bool>& );
59 
60  ~StETofHeader();
61 
62  double trgGdpbFullTime() const;
63  double trgStarFullTime() const;
64 
65  map< unsigned int, uint64_t > rocGdpbTs() const;
66  map< unsigned int, uint64_t > rocStarTs() const;
67 
68  unsigned int starToken() const;
69  unsigned int starDaqCmdIn() const;
70  unsigned int starTrgCmdIn() const;
71  uint64_t eventStatusFlag() const;
75  std::vector<bool> missMatchFlagVec() const;
79  std::vector<bool> goodEventFlagVec() const;
80 
81  std::vector<bool> hasPulsersVec() const;
82 
83 
84  void setTrgGdpbFullTime( const double& gdpbFullTime );
85  void setTrgStarFullTime( const double& starFullTime );
86 
87  void setRocGdpbTs( const map< unsigned int, uint64_t >& gdpbTs );
88  void setRocStarTs( const map< unsigned int, uint64_t >& starTs );
89 
90  void setStarToken( const unsigned int& token );
91  void setStarDaqCmdIn( const unsigned int& daqCmdIn );
92  void setStarTrgCmdIn( const unsigned int& trgCmdIn );
93 
94  void setEventStatusFlag( const uint64_t& statusFlag );
95  void setGoodEventFlagVec( const std::vector<bool>& FlagVec );
96  void setGoodEventFlagVec( int blubb ) {return;}
97  void setHasPulsersVec( const std::vector<bool>& PulserVec );
98 
99 private:
100  Double_t mTrgGdpbFullTime;
101  Double_t mTrgStarFullTime;
102 
103  map< UInt_t, ULong64_t > mRocGdpbTs;
104  map< UInt_t, ULong64_t > mRocStarTs;
105 
106  UInt_t mStarToken;
107  UInt_t mStarDaqCmdIn;
108  UInt_t mStarTrgCmdIn;
109 
110  ULong64_t mEventStatusFlag;
111 
112  std::vector< Bool_t > mMissMatchFlagVec;
113  std::vector< Bool_t > mGoodEventFlagVec;
114  std::vector< Bool_t > mHasPulsersVec;
115 
116  ClassDef( StETofHeader, 4 )
117 };
118 
119 #endif // STETOFHEADER_H
std::vector< bool > goodEventFlagVec() const
Flag to mark if the event is good for physics analysis for each counter. A counter is considered good...
std::vector< bool > missMatchFlagVec() const
Flag for each Get4 TDC to mark if it is available in this event.