00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052 #ifndef StL0Trigger_hh
00053 #define StL0Trigger_hh
00054 #include "StTrigger.h"
00055
00056 class dst_L0_Trigger_st;
00057 class dst_TrgDet_st;
00058 class StTriggerData;
00059
00060 class StL0Trigger : public StTrigger {
00061 public:
00062 StL0Trigger();
00063 void set(const dst_L0_Trigger_st*);
00064 void set(const dst_TrgDet_st *);
00065 void set(const StTriggerData *);
00066
00067
00068 ~StL0Trigger();
00069
00070 unsigned int coarsePixelArraySize();
00071 int coarsePixelArray(unsigned int);
00072 int mwcCtbMultiplicity() const;
00073 int mwcCtbDipole() const;
00074 int mwcCtbTopology() const;
00075 int mwcCtbMoment() const;
00076 unsigned short dsmInput() const;
00077 unsigned char detectorBusy() const;
00078 unsigned short triggerToken() const;
00079 unsigned short dsmAddress() const;
00080 unsigned char addBits() const;
00081 unsigned int lastDsmArraySize() const;
00082 unsigned short lastDsmArray(unsigned int);
00083 unsigned int bcDataArraySize() const;
00084 unsigned short bcDataArray(unsigned int);
00085
00086 unsigned int bunchCrossingId7bit(int) const;
00087 unsigned int bunchCrossingId() const;
00088
00089 int spinBits(int) const;
00090 int spinBitYellowUp(int) const;
00091 int spinBitYellowDown(int) const;
00092 int spinBitBlueUp(int) const;
00093 int spinBitBlueDown(int) const;
00094
00095 void setMwcCtbMultiplicity(int);
00096 void setMwcCtbDipole(int);
00097 void setMwcCtbTopology(int);
00098 void setMwcCtbMoment(int);
00099 void setCoarsePixelArray(unsigned int, int);
00100 void setDsmInput(unsigned short);
00101 void setDetectorBusy(unsigned char);
00102 void setTriggerToken(unsigned short);
00103 void setDsmAddress(unsigned short);
00104 void setAddBits(unsigned char);
00105 void setLastDsmArray(unsigned int, unsigned short);
00106 void setBcDataArray(unsigned int, unsigned short);
00107
00108 protected:
00109 enum {mMaxPixels = 32, mMaxLastDsm = 8, mMaxBcData = 16};
00110
00111 private:
00112 Int_t mCoarsePixelArray[mMaxPixels];
00113 Int_t mMwcCtbMultiplicity;
00114 Int_t mMwcCtbDipole;
00115 Int_t mMwcCtbTopology;
00116 Int_t mMwcCtbMoment;
00117 UShort_t mDsmInput;
00118 UChar_t mDetectorBusy;
00119 UShort_t mTriggerToken;
00120 UShort_t mDsmAddress;
00121 UChar_t mAddBits;
00122 UShort_t mLastDsmArray[mMaxLastDsm];
00123 UShort_t mBcDataArray[mMaxBcData];
00124
00125 ClassDef(StL0Trigger,2)
00126 };
00127 #endif