00001 #ifndef RAWECAL_ESDCCHEADERBLOCK_H
00002 #define RAWECAL_ESDCCHEADERBLOCK_H
00003 #include <boost/cstdint.hpp>
00004 #include <vector>
00005
00006 using namespace std;
00007
00008 class ESDCCHeaderBlock {
00009
00010 public :
00011
00012 typedef int key_type;
00013
00014 enum ESDCCRunType {
00015 PEDESTAL_RUN = 1,
00016 TESTPULSE_RUN = 2,
00017 COSMIC_RUN = 3,
00018 BEAM_RUN = 4,
00019 PHYSICS_RUN = 5,
00020 TEST_RUN = 6,
00021 GLOBAL_COSMIC_RUN = 7
00022 };
00023
00024 enum ESSeqType {
00025 STD_SEQ = 0,
00026 DELTASCAN_SEQ = 1,
00027 DELAYSCAN_SEQ = 2,
00028 PULSESHAPE_SEQ = 3
00029 };
00030
00031 enum ESTriggerType {
00032 PHYSICS_TRIGGER = 1,
00033 CALIBRATION_TRIGGER = 2,
00034 TEST_TRIGGER = 3,
00035 TECHNICAL_EXTERNAL_TRIGGER = 4
00036 };
00037
00038 ESDCCHeaderBlock();
00039 ESDCCHeaderBlock(const int& dccId);
00040
00041 const int& id() const { return dccId_; }
00042 void setId(const int& dccId) { dccId_ = dccId; };
00043
00044 const int fedId() const { return fedId_; }
00045 void setFedId(const int& fedId) { fedId_ = fedId; };
00046
00047 void setLV1(const int& LV1) { LV1_ = LV1; };
00048 void setBX(const int& BX) { BX_ = BX; }
00049 void setGain(const int& gain) { gain_ = gain; }
00050 void setPrecision(const int& precision) { precision_ = precision; }
00051 void setDAC(const int& dac) { dac_ = dac; }
00052 void setEventLength(const int &evtLen) { evtLen_ = evtLen; };
00053 void setDCCErrors(const int& dccErrs) { dccErrs_ = dccErrs; };
00054 void setRunNumber(const int& runNum) { runNum_ = runNum; };
00055 void setRunType(const int& runType) { runType_ = runType; };
00056 void setSeqType(const int& seqType) { seqType_ = seqType; };
00057 void setTriggerType(const int& trgType) { trgType_ = trgType; };
00058 void setCompressionFlag(const int& compFlag) { compFlag_ = compFlag; };
00059 void setOrbitNumber(const int& orbit) {orbit_ = orbit; };
00060 void setMajorVersion(const int& vmajor) {vmajor_ = vmajor; };
00061 void setMinorVersion(const int& vminor) {vminor_ = vminor; };
00062 void setOptoRX0(const int& optoRX0) { optoRX0_ = optoRX0; };
00063 void setOptoRX1(const int& optoRX1) { optoRX1_ = optoRX1; };
00064 void setOptoRX2(const int& optoRX2) { optoRX2_ = optoRX2; };
00065 void setOptoBC0(const int& optoBC0) { optoBC0_ = optoBC0; };
00066 void setOptoBC1(const int& optoBC1) { optoBC1_ = optoBC1; };
00067 void setOptoBC2(const int& optoBC2) { optoBC2_ = optoBC2; };
00068 void setFEChannelStatus(const vector<int>& FEch) { FEch_ = FEch; };
00069
00070 void setPacketLength(const int & packetLen) { packetLen_ = packetLen; };
00071 void setBC(const int & bc) { bc_ = bc; };
00072 void setEV(const int & ev) { ev_ = ev; };
00073
00074 void setBMMeasurements(const int & BMMeasurements) { BMMeasurements_ = BMMeasurements; };
00075 void setBeginOfSpillSec(const int & beginOfSpillSec) { beginOfSpillSec_ = beginOfSpillSec; };
00076 void setBeginOfSpillMilliSec(const int & beginOfSpillMilliSec) { beginOfSpillMilliSec_ = beginOfSpillMilliSec; };
00077 void setEndOfSpillSec(const int & endOfSpillSec) { endOfSpillSec_ = endOfSpillSec; };
00078 void setEndOfSpillMilliSec(const int & endOfSpillMilliSec) { endOfSpillMilliSec_ = endOfSpillMilliSec; };
00079 void setBeginOfSpillLV1(const int & beginOfSpillLV1) { beginOfSpillLV1_ = beginOfSpillLV1; };
00080 void setEndOfSpillLV1(const int & endOfSpillLV1) { endOfSpillLV1_ = endOfSpillLV1; };
00081
00082 void setTimeStampSec(const int & timestamp_sec) { timestamp_sec_ = timestamp_sec; };
00083 void setTimeStampUSec(const int & timestamp_usec) { timestamp_usec_ = timestamp_usec; };
00084 void setSpillNumber(const int & spillNum) { spillNum_ = spillNum; };
00085 void setEventInSpill(const int & evtInSpill) { evtInSpill_ = evtInSpill; };
00086 void setCAMACError(const int & camacErr) { camacErr_ = camacErr; };
00087 void setVMEError(const int & vmeErr) { vmeErr_ = vmeErr; };
00088 void setADCChannelStatus(const vector<int>& ADCch_status) { ADCch_status_ = ADCch_status; };
00089 void setADCChannel(const vector<int>& ADCch) { ADCch_ = ADCch; };
00090 void setTDCChannelStatus(const vector<int>& TDCch_status) { TDCch_status_ = TDCch_status; };
00091 void setTDCChannel(const vector<int>& TDCch) { TDCch_ = TDCch; };
00092
00093 int getLV1() const { return LV1_; }
00094 int getBX() const { return BX_; }
00095 int getGain() const { return gain_; }
00096 int getPrecision() const { return precision_; }
00097 int getDAC() const { return dac_; }
00098 int getEventLength() const { return evtLen_; }
00099 int getDCCErrors() const { return dccErrs_; }
00100 int getRunNumber() const { return runNum_; }
00101 int getRunType() const { return runType_; }
00102 int getSeqType() const { return seqType_; }
00103 int getTriggerType() const { return trgType_; }
00104 int getCompressionFlag() const { return compFlag_; }
00105 int getOrbitNumber() const { return orbit_; }
00106 int getMajorVersion() const { return vmajor_; }
00107 int getMinorVersion() const { return vminor_; }
00108 int getOptoRX0() const { return optoRX0_; }
00109 int getOptoRX1() const { return optoRX1_; }
00110 int getOptoRX2() const { return optoRX2_; }
00111 int getOptoBC0() const { return optoBC0_; }
00112 int getOptoBC1() const { return optoBC1_; }
00113 int getOptoBC2() const { return optoBC2_; }
00114 const vector<int>& getFEChannelStatus() const { return FEch_; }
00115 int getPacketLength() const { return packetLen_; }
00116 int getBC() const { return bc_; }
00117 int getEV() const { return ev_; }
00118 int getBMMeasurements() const { return BMMeasurements_; }
00119 int getBeginOfSpillSec() const { return beginOfSpillSec_; }
00120 int getBeginOfSpillMiliSec() const { return beginOfSpillMilliSec_; }
00121 int getEndOfSpillSec() const { return endOfSpillSec_; }
00122 int getEndOfSpillMiliSec() const { return endOfSpillMilliSec_; }
00123 int getBeginOfSpillLV1() const { return beginOfSpillLV1_; }
00124 int getEndOfSpillLV1() const { return endOfSpillLV1_; }
00125 int getTimeStampSec() const { return timestamp_sec_; }
00126 int getTimeStampUSec() const { return timestamp_usec_; }
00127 int getSpillNumber() const { return spillNum_; }
00128 int getEventInSpill() const { return evtInSpill_; }
00129 int getCAMACError() const { return camacErr_; }
00130 int getVMEError() const { return vmeErr_; }
00131 const vector<int>& getADCChannelStatus() const { return ADCch_status_; }
00132 const vector<int>& getADCChannel() const { return ADCch_; }
00133 const vector<int>& getTDCChannelStatus() const { return TDCch_status_; }
00134 const vector<int>& getTDCChannel() const { return TDCch_; }
00135
00136 private :
00137
00138 int dccId_;
00139 int fedId_;
00140 int LV1_;
00141 int BX_;
00142 int gain_;
00143 int precision_;
00144 int dac_;
00145 int evtLen_;
00146 int dccErrs_;
00147 int runNum_;
00148 int runType_;
00149 int seqType_;
00150 int trgType_;
00151 int compFlag_;
00152 int orbit_;
00153 int vmajor_;
00154 int vminor_;
00155 int optoRX0_;
00156 int optoRX1_;
00157 int optoRX2_;
00158 int optoBC0_;
00159 int optoBC1_;
00160 int optoBC2_;
00161 vector<int> FEch_;
00162 int packetLen_;
00163 int bc_;
00164 int ev_;
00165 int BMMeasurements_;
00166 int beginOfSpillSec_;
00167 int beginOfSpillMilliSec_;
00168 int endOfSpillSec_;
00169 int endOfSpillMilliSec_;
00170 int beginOfSpillLV1_;
00171 int endOfSpillLV1_;
00172 int timestamp_sec_;
00173 int timestamp_usec_;
00174 int spillNum_;
00175 int evtInSpill_;
00176 int camacErr_;
00177 int vmeErr_;
00178 vector<int> ADCch_status_;
00179 vector<int> ADCch_;
00180 vector<int> TDCch_status_;
00181 vector<int> TDCch_;
00182
00183 };
00184
00185 #endif
00186
00187