1#include "RawEvent/RawDataUtil.h"
2#include "RawDataProviderSvc/TofData.h"
3#include "TofQCorrSvc/ITofQCorrSvc.h"
4#include "TofQElecSvc/ITofQElecSvc.h"
5#include "Identifier/Identifier.h"
6#include "Identifier/TofID.h"
28 m_times = source.m_times;
29 m_number = source.m_number;
31 m_used = source.m_used;
37 m_times = m_times + 1;
43 m_times = m_times - 1;
50 if(
value == 0x7fffffff ) {
55 else if(
value == -999 ) {
87 if(
value == 0x7fffffff ) {
94 else if(
value == -999 ) {
111 if( (
value & 0x80000 ) != 0 ) {
129 if( m_calculated )
return;
198 m_iden_value = source.m_iden_value;
199 m_times = source.m_times;
200 m_quality = source.m_quality;
201 m_adc = source.m_adc;
202 m_tdc = source.m_tdc;
218 m_adc->
calculate( barrel, tofid, east,identify );
225 double value = -999.0;
227 value = m_adc->
qtc();
239 double value = -999.0;
241 value = m_adc->
value();
255 clock = m_adc->
clock();
271 double value = -999.;
273 value = m_tdc->
value();
282 clock = m_tdc->
clock();
289 m_times = m_times + 1;
295 m_times = m_times - 1;
400 if(
adc->channel() != -999 ) {
402 m_quality = ( m_quality | 0x2 );
410 if(
tdc->channel() != -999 ) {
412 m_quality = ( m_quality | 0x1 );
431 if( m_adc->
times() <= 1 ) {
440 if( m_tdc->
times() <= 1 ) {
471 m_identify = source.m_identify;
472 m_barrel = source.m_barrel;
473 m_tofId = source.m_tofId;
474 m_layer = source.m_layer;
475 m_tofTrackId = source.m_tofTrackId;
476 m_misLable = source.m_misLable;
477 m_quality = source.m_quality;
478 m_tmatched = source.m_tmatched;
479 m_forward = source.m_forward;
480 m_backward = source.m_backward;
481 m_ztdc = source.m_ztdc;
482 m_zadc = source.m_zadc;
483 m_zpos = source.m_zpos;
484 m_energy = source.m_energy;
495 if( !m_barrel && m_misLable ) {
496 if( m_tofId == 90 ) {
return 91; }
497 else if( m_tofId == 91 ) {
return 90; }
515 if( barrel_ec == 0 ) {
518 else if( barrel_ec == 1 ) {
520 if( m_layer == 1 ) { m_tofId = m_tofId + 88; }
522 else if( barrel_ec == 2 ) {
524 m_tofId = m_tofId + 48;
526 else if((barrel_ec >2 && barrel_ec<7))
534void TofData::data(
double& adcEast,
double& tdcEast,
double& adcWest,
double& tdcWest ) {
538 adcEast = m_forward->
adc();
539 tdcEast = m_forward->
tdc();
544 adcWest = m_backward->
adc();
545 tdcWest = m_backward->
tdc();
563 double value = -999.;
565 value = m_forward->
adc();
572 double value = -999.;
574 value = m_forward->
tdc();
581 double value = -999.;
583 value = m_backward->
adc();
590 double value = -999.;
592 value = m_backward->
tdc();
599 double value = -999.;
601 value = m_forward->
adc();
608 double value = -999.;
610 value = m_forward->
tdc();
617 double value = -999.;
619 value = m_forward->
qtc();
626 double value = -999.;
628 value = m_backward->
qtc();
635 double value = -999.;
637 value = m_forward->
qtc();
700 clock = m_forward->
qclock();
709 clock = m_forward->
tclock();
718 clock = m_backward->
qclock();
727 clock = m_backward->
tclock();
736 clock = m_forward->
qclock();
745 clock = m_forward->
tclock();
826 number = m_backward->
qnumber();
835 number = m_backward->
tnumber();
918 m_forward->
calculate( m_barrel, m_tofId,
true,m_identify );
921 m_quality = ( m_quality | (
quality << 2 ) );
937 m_backward->
calculate( m_barrel, m_tofId,
false ,m_identify);
940 m_quality = ( m_quality |
quality );
958 if( m_forward->
times() <= 1 ) {
967 if( m_backward->
times() <= 1 ) {
ITofQElecSvc * tofQElecSvc
ITofQCorrSvc * tofQCorrSvc
void calculate(bool barrel, int tofid, bool east, int identify)
void setValue_mrpc(int value, int clock)
virtual const double BQRaw1(int id, double q)=0
virtual const double EQRaw(int id, double q)=0
virtual const double BQRaw2(int id, double q)=0
virtual const double BQTC2(int id, double q)=0
virtual const double BQTC1(int id, double q)=0
virtual const double EQTC(int id, double q)=0
unsigned int times() const
void calculate(bool barrel, int tofid, bool east, int m_identify)
unsigned int quality() const
PmtData & operator=(const PmtData &source)
static double TofTime(unsigned int timeChannel)
unsigned int quality() const
void data(double &adcEast, double &tdcEast, double &adcWest, double &tdcWest)
void setForward(PmtData *pmt)
unsigned int times() const
TofData & operator=(const TofData &source)
unsigned int identify() const
void setBackward(PmtData *pmt)
void setIdentify(Identifier identify)
static Identifier cell_id(int barrel_ec, int layer, int phi_module, int end)
For a single crystal.
static int phi_module(const Identifier &id)
static int barrel_ec(const Identifier &id)
Values of different levels (failure returns 0)
static bool is_mymrpc(const Identifier &id)
static int layer(const Identifier &id)
TofValue & operator=(const TofValue &source)