Belle II Software  release-05-01-25
ECLTrig.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Poyuan Chen *
7  * Vasily Shebalin *
8  * *
9  * This software is provided "as is" without any warranty. *
10  **************************************************************************/
11 
12 #ifndef ECLTRIG_H
13 #define ECLTRIG_H
14 
15 #include <framework/datastore/RelationsObject.h>
16 
17 namespace Belle2 {
29  class ECLTrig : public RelationsObject {
30  public:
32  ECLTrig()
33  {
34  m_TrigId = 0;
35  m_TimeTrig = 0;
36  m_TrigTag = 0;
37  }
38 
39 
42  void setTrigId(int TrigId) { m_TrigId = TrigId; }
45  void setTrigTag(int TrigTag) { m_TrigTag = TrigTag; }
48  void setTimeTrig(double TimeTrig) { m_TimeTrig = TimeTrig; }
52  int getTrigId() const { return m_TrigId & 0x3F; }
53 
97  int getBurstSuppressionMask() const { return (m_TrigId >> 6) & 0xFFF; }
98 
105  int getTrigTag() const { return m_TrigTag & 0xFFFF; }
106 
110  int getTrigTagQualityFlag() const { return (m_TrigTag & 0x10000) >> 16; }
111 
115  double getTimeTrig() const { return m_TimeTrig; }
116 
117  private:
118  int m_TrigId;
119  double m_TimeTrig;
120  int m_TrigTag;
125  ClassDef(ECLTrig, 3);
126 
127  };
129 } // end namespace Belle2
130 
131 #endif
Belle2::ECLTrig::m_TrigTag
int m_TrigTag
Trig tag.
Definition: ECLTrig.h:129
Belle2::ECLTrig::getTimeTrig
double getTimeTrig() const
Get Trig Time.
Definition: ECLTrig.h:124
Belle2::ECLTrig::setTrigTag
void setTrigTag(int TrigTag)
Set Trig Time (crate Id)
Definition: ECLTrig.h:54
Belle2::ECLTrig::m_TimeTrig
double m_TimeTrig
Trig Time.
Definition: ECLTrig.h:128
Belle2::ECLTrig::m_TrigId
int m_TrigId
Trig ID.
Definition: ECLTrig.h:127
Belle2::ECLTrig::ClassDef
ClassDef(ECLTrig, 3)
2 CellId -> TrigIdvariable lengthx
Belle2::ECLTrig::getTrigId
int getTrigId() const
Get Trig ID.
Definition: ECLTrig.h:61
Belle2::ECLTrig::getTrigTagQualityFlag
int getTrigTagQualityFlag() const
Get trigger tag quality flag.
Definition: ECLTrig.h:119
Belle2::ECLTrig::getTrigTag
int getTrigTag() const
Get Trigger tag Trigger tag word width is 16 bit (bits 0-15).
Definition: ECLTrig.h:114
Belle2::ECLTrig::setTimeTrig
void setTimeTrig(double TimeTrig)
Set Triger Tag (crate Id)
Definition: ECLTrig.h:57
Belle2::ECLTrig::setTrigId
void setTrigId(int TrigId)
Set TrigID.
Definition: ECLTrig.h:51
Belle2::ECLTrig::getBurstSuppressionMask
int getBurstSuppressionMask() const
Burst suppression is an algorithm implemented in ECL ShaperDSP modules to prevent buffer overflow in ...
Definition: ECLTrig.h:106
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::RelationsObject
RelationsInterface< TObject > RelationsObject
Provides interface for getting/adding relations to objects in StoreArrays.
Definition: RelationsObject.h:443
Belle2::ECLTrig
Class to store ECLTrig, still need to be study relation to ECLHit filled in ecl/modules/eclDigitizer/...
Definition: ECLTrig.h:38
Belle2::ECLTrig::ECLTrig
ECLTrig()
default constructor for ROOT
Definition: ECLTrig.h:41