BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
TofData.cxx
Go to the documentation of this file.
1#include "RawDataProviderSvc/TofData.h"
2#include "Identifier/Identifier.h"
3#include "Identifier/TofID.h"
4#include "RawEvent/RawDataUtil.h"
5#include "TofQCorrSvc/ITofQCorrSvc.h"
6#include "TofQElecSvc/ITofQElecSvc.h"
7#include <iostream>
8
11
13 m_channel = -999;
14 m_value = -999.0;
15 m_times = -1;
16 m_number = 0;
17 m_clock = -999;
18 m_used = false;
19 return;
20}
21
23
25 m_channel = source.m_channel;
26 m_value = source.m_value;
27 m_times = source.m_times;
28 m_number = source.m_number;
29 m_clock = source.m_clock;
30 m_used = source.m_used;
31 return *this;
32}
33
35 m_times = m_times + 1;
36 return;
37}
38
40 m_times = m_times - 1;
41 return;
42}
43
44void Tdc::setValue( int value ) {
45 m_clock = ( ( value & 0x7e000 ) >> 13 );
46 if ( value == 0x7fffffff )
47 {
48 m_clock = 100;
49 m_channel = 10000;
50 m_value = 10000.0;
51 }
52 else if ( value == -999 )
53 {
54 m_channel = -999;
55 m_value = -999.0;
56 }
57 else
58 {
61 }
62
63 return;
64}
65
67 m_corr = false;
68 m_elec = false;
69 m_mrpc = false;
70 m_qtc = -999.0;
71}
72
73void Adc::setValue( Identifier identify, int value ) {
74 m_clock = ( ( value & 0x7e000 ) >> 13 );
75 if ( value == 0x7fffffff )
76 {
77 m_clock = 100;
78 m_channel = 10000;
79 m_qtc = 10000.0;
80 m_value = 10000.0;
81 }
82 else if ( value == -999 )
83 {
84 m_channel = -999;
85 m_qtc = -999.0;
86 m_value = -999.0;
87 }
88 else
89 {
90
91 m_mrpc = TofID::is_mrpc( identify );
92 if ( m_mrpc )
93 {
96 }
97 else
98 {
99 if ( !( TofID::is_scin( identify ) ) )
100 {
101 std::cout << "Event/RawDataProviderSvc:: ERROR! ETF(MRPC) data is "
102 "treated as scintillator data !"
103 << std::endl;
104 }
105
106 m_channel = ( value & 0x1fff );
107 if ( ( value & 0x80000 ) != 0 )
108 {
109 if ( m_corr )
110 {
111 if ( m_channel < 4000 ) { m_channel += 0x2000; }
112 }
113 else { m_channel += 0x2000; }
114 }
115
116 int barrel = TofID::barrel_ec( identify );
117 int tofid = TofID::phi_module( identify );
118 int layer = TofID::layer( identify );
119 if ( barrel == 1 )
120 {
121 if ( layer == 1 ) { tofid = tofid + 88; }
122 }
123 else if ( barrel == 2 ) { tofid = tofid + 48; }
124 int east = TofID::end( identify );
125
126 if ( m_corr )
127 {
128 if ( barrel == 1 )
129 {
130 if ( east == 0 ) { m_qtc = tofQCorrSvc->BQRaw1( tofid, m_channel * 1.0 ); }
131 else { m_qtc = tofQCorrSvc->BQRaw2( tofid, m_channel * 1.0 ); }
132 }
133 else { m_qtc = tofQCorrSvc->EQRaw( tofid, m_channel * 1.0 ); }
134 }
135 else { m_qtc = m_channel * 1.0; }
136
137 if ( m_elec )
138 {
139 if ( barrel == 1 )
140 {
141 if ( east == 0 ) { m_value = tofQElecSvc->BQTC1( tofid, m_qtc ); }
142 else { m_value = tofQElecSvc->BQTC2( tofid, m_qtc ); }
143 }
144 else { m_value = tofQElecSvc->EQTC( tofid, m_qtc ); }
145 }
146 else { m_value = m_qtc * 1.0; }
147 }
148 }
149 return;
150}
151
152/*
153void Adc::calculate( Identifier identify ) {
154
155 if( m_calculated ) return;
156
157 m_mrpc = TofID::is_mrpc( identify );
158 if( m_mrpc ) {
159 m_qtc = RawDataUtil::TofTime( m_channel );
160 }
161 else {
162 if( !( TofID::is_scin( identify ) ) ) {
163 std::cout << "Event/RawDataProviderSvc:: ERROR! ETF(MRPC) data is treated
164as scintillator data !" << std::endl;
165 }
166
167 int channel = ( m_channel & 0x1fff );
168 if( ( m_channel & 0x80000 ) != 0 ) {
169 if( m_corr ) {
170 if( channel < 4000 ) {
171 channel += 0x2000;
172 }
173 }
174 else {
175 channel += 0x2000;
176 }
177 }
178 m_channel = channel;
179
180 int barrel = TofID::barrel_ec( identify );
181 int tofid = TofID::phi_module( identify );
182 int layer = TofID::layer( identify );
183 if( barrel==1 ) {
184 if( layer==1 ) {
185 tofid = tofid + 88;
186 }
187 }
188 else if( barrel==2 ) {
189 tofid = tofid + 48;
190 }
191 int east = TofID::end( identify );
192
193 if( m_corr ) {
194 if( barrel==1 ) {
195 if( east==0 ) {
196 m_qtc = tofQCorrSvc->BQRaw1( tofid, m_channel*1.0 );
197 }
198 else {
199 m_qtc = tofQCorrSvc->BQRaw2( tofid, m_channel*1.0 );
200 }
201 }
202 else {
203 m_qtc = tofQCorrSvc->EQRaw( tofid, m_channel*1.0 );
204 }
205 }
206 else {
207 m_qtc = m_channel*1.0;
208 }
209
210 if( m_elec ) {
211 if( barrel==1 ) {
212 if( east==0 ) {
213 m_value = tofQElecSvc->BQTC1( tofid, m_qtc );
214 }
215 else {
216 m_value = tofQElecSvc->BQTC2( tofid, m_qtc );
217 }
218 }
219 else {
220 m_value = tofQElecSvc->EQTC( tofid, m_qtc );
221 }
222 }
223 else {
224 m_value = m_qtc*1.0;
225 }
226 }
227
228 m_calculated = true;
229 return;
230}
231*/
232
234 m_iden_value = 0;
235 m_times = 0;
236 m_quality = 0;
237 m_adc = 0;
238 m_tdc = 0;
239}
240
242
244 m_iden_value = source.m_iden_value;
245 m_times = source.m_times;
246 m_quality = source.m_quality;
247 m_adc = source.m_adc;
248 m_tdc = source.m_tdc;
249 return *this;
250}
251
253 int channel = -999;
254 if ( m_adc ) { channel = m_adc->channel(); }
255 return channel;
256}
257
258double PmtData::qtc() {
259 double value = -999.0;
260 if ( m_adc ) { value = m_adc->qtc(); }
261 else
262 {
263 if ( m_tdc ) { value = 10000.0; }
264 }
265 return value;
266}
267
268double PmtData::adc() {
269 double value = -999.0;
270 if ( m_adc )
271 {
272
273 if ( TofID::is_mrpc( TofID::cell_id( m_iden_value ) ) )
274 {
275 if ( m_tdc )
276 {
277 double tleading = m_tdc->value();
278 if ( tleading > 0.0 )
279 {
280 int qchannel = m_adc->channel();
281 if ( qchannel != 10000 && qchannel != -999 )
282 {
283 double ttrailing = m_adc->qtc();
284 value = ttrailing - tleading;
285 }
286 }
287 }
288 }
289 else { value = m_adc->value(); }
290 }
291 else
292 {
293 if ( m_tdc ) { value = 10000.0; }
294 }
295 return value;
296}
297
299 int clock = -999;
300 if ( m_adc ) { clock = m_adc->clock(); }
301 return clock;
302}
303
305 int channel = -999;
306 if ( m_tdc ) { channel = m_tdc->channel(); }
307 return channel;
308}
309
310double PmtData::tdc() {
311 double value = -999.;
312 if ( m_tdc ) { value = m_tdc->value(); }
313 return value;
314}
315
317 int clock = -999;
318 if ( m_tdc ) { clock = m_tdc->clock(); }
319 return clock;
320}
321
323 m_times = m_times + 1;
324 return;
325}
326
328 m_times = m_times - 1;
329 return;
330}
331
333 if ( m_adc ) { m_adc->timespp(); }
334 return;
335}
336
338 if ( m_adc ) { m_adc->timesmm(); }
339 return;
340}
341
343 if ( m_tdc ) { m_tdc->timespp(); }
344 return;
345}
346
348 if ( m_tdc ) { m_tdc->timesmm(); }
349 return;
350}
351
353 int times = -1;
354 if ( m_adc ) { times = m_adc->times(); }
355 return times;
356}
357
359 int times = -1;
360 if ( m_tdc ) { times = m_tdc->times(); }
361 return times;
362}
363
365 int number = 0;
366 if ( m_adc ) { number = m_adc->number(); }
367 return number;
368}
369
371 int number = 0;
372 if ( m_tdc ) { number = m_tdc->number(); }
373 return number;
374}
375
377 bool used = false;
378 if ( m_adc ) { used = m_adc->used(); }
379 return used;
380}
381
383 bool used = false;
384 if ( m_tdc ) { used = m_tdc->used(); }
385 return used;
386}
387
389 bool used = false;
390 if ( m_adc ) { used = ( used || m_adc->used() ); }
391 if ( m_tdc ) { used = ( used || m_tdc->used() ); }
392 return used;
393}
394
396 m_adc = adc;
397 if ( adc->channel() != -999 )
398 {
399 if ( m_adc->times() == -1 ) { m_adc->timespp(); }
400 m_quality = ( m_quality | 0x2 );
401 }
402 return;
403}
404
406 m_tdc = tdc;
407 if ( tdc->channel() != -999 )
408 {
409 if ( m_tdc->times() == -1 ) { m_tdc->timespp(); }
410 m_quality = ( m_quality | 0x1 );
411 }
412 return;
413}
414
416 if ( m_adc ) { m_adc->setUsed( true ); }
417 if ( m_tdc ) { m_tdc->setUsed( true ); }
418 return;
419}
420
422 if ( m_adc )
423 {
424 if ( m_adc->times() <= 1 )
425 {
426 delete m_adc;
427 m_adc = 0;
428 }
429 else { m_adc->timesmm(); }
430 }
431 if ( m_tdc )
432 {
433 if ( m_tdc->times() <= 1 )
434 {
435 delete m_tdc;
436 m_tdc = 0;
437 }
438 else { m_tdc->timesmm(); }
439 }
440 return;
441}
442
444 m_identify = 0;
445 m_mrpc = false;
446 m_barrel = false;
447 m_tofId = -1;
448 m_layer = -1;
449 m_strip = -1;
450 m_tofTrackId = -1;
451 m_misLable = false;
452 m_quality = 0;
453 m_tmatched = false;
454 m_forward = 0;
455 m_backward = 0;
456 m_ztdc = -999;
457 m_zadc = -999;
458 m_zpos = -999;
459 m_energy = 0;
460}
461
463 m_identify = source.m_identify;
464 m_mrpc = source.m_mrpc;
465 m_barrel = source.m_barrel;
466 m_tofId = source.m_tofId;
467 m_layer = source.m_layer;
468 m_strip = source.m_strip;
469 m_tofTrackId = source.m_tofTrackId;
470 m_misLable = source.m_misLable;
471 m_quality = source.m_quality;
472 m_tmatched = source.m_tmatched;
473 m_forward = source.m_forward;
474 m_backward = source.m_backward;
475 m_ztdc = source.m_ztdc;
476 m_zadc = source.m_zadc;
477 m_zpos = source.m_zpos;
478 m_energy = source.m_energy;
479 return *this;
480}
481
483
484/*
485int TofData::tofId() {
486 if( !m_mrpc && !m_barrel && m_misLable ) {
487 if( m_tofId == 90 ) { return 91; }
488 else if( m_tofId == 91 ) { return 90; }
489 }
490 return m_tofId;
491}
492*/
493
495 m_identify = identify.get_value();
496 m_mrpc = TofID::is_mrpc( identify );
497 if ( !m_mrpc )
498 {
499 int barrel_ec = TofID::barrel_ec( identify );
500 m_layer = TofID::layer( identify );
501 m_tofId = TofID::phi_module( identify );
502 if ( barrel_ec == 0 ) { m_barrel = false; }
503 else if ( barrel_ec == 1 )
504 {
505 m_barrel = true;
506 if ( m_layer == 1 ) { m_tofId = m_tofId + 88; }
507 }
508 else if ( barrel_ec == 2 )
509 {
510 m_barrel = false;
511 m_tofId = m_tofId + 48;
512 }
513 }
514 else
515 {
516 m_barrel = false;
517 int endcap = TofID::endcap( identify );
518 m_tofId = TofID::module( identify );
519 if ( endcap == 1 ) { m_tofId = m_tofId + 36; }
520 m_strip = TofID::strip( identify );
521 }
522
523 return;
524}
525
526void TofData::data( double& adcEast, double& tdcEast, double& adcWest, double& tdcWest ) {
527 adcEast = -999.;
528 tdcEast = -999.;
529 if ( m_forward )
530 {
531 adcEast = m_forward->adc();
532 tdcEast = m_forward->tdc();
533 }
534 adcWest = -999.;
535 tdcWest = -999.;
536 if ( m_backward )
537 {
538 adcWest = m_backward->adc();
539 tdcWest = m_backward->tdc();
540 }
541 return;
542}
543
544void TofData::data( double& adc, double& tdc ) {
545 adc = -999.;
546 tdc = -999.;
547 if ( m_forward )
548 {
549 adc = m_forward->adc();
550 tdc = m_forward->tdc();
551 }
552 return;
553}
554
556 double value = -999.;
557 if ( m_forward ) { value = m_forward->adc(); }
558 return value;
559}
560
562 double value = -999.;
563 if ( m_forward ) { value = m_forward->tdc(); }
564 return value;
565}
566
568 double value = -999.;
569 if ( m_backward ) { value = m_backward->adc(); }
570 return value;
571}
572
574 double value = -999.;
575 if ( m_backward ) { value = m_backward->tdc(); }
576 return value;
577}
578
579double TofData::adc() {
580 double value = -999.;
581 if ( m_forward ) { value = m_forward->adc(); }
582 return value;
583}
584
585double TofData::tdc() {
586 double value = -999.;
587 if ( m_forward ) { value = m_forward->tdc(); }
588 return value;
589}
590
592 double value = -999.;
593 if ( m_forward ) { value = m_forward->qtc(); }
594 return value;
595}
596
598 double value = -999.;
599 if ( m_backward ) { value = m_backward->qtc(); }
600 return value;
601}
602
603double TofData::qtc() {
604 double value = -999.;
605 if ( m_forward ) { value = m_forward->qtc(); }
606 return value;
607}
608
610 int channel = -999;
611 if ( m_forward ) { channel = m_forward->adcChannel(); }
612 return channel;
613}
614
616 int channel = -999;
617 if ( m_forward ) { channel = m_forward->tdcChannel(); }
618 return channel;
619}
620
622 int channel = -999;
623 if ( m_backward ) { channel = m_backward->adcChannel(); }
624 return channel;
625}
626
628 int channel = -999;
629 if ( m_backward ) { channel = m_backward->tdcChannel(); }
630 return channel;
631}
632
634 int channel = -999;
635 if ( m_forward ) { channel = m_forward->adcChannel(); }
636 return channel;
637}
638
640 int channel = -999;
641 if ( m_forward ) { channel = m_forward->tdcChannel(); }
642 return channel;
643}
644
646 int clock = -999;
647 if ( m_forward ) { clock = m_forward->qclock(); }
648 return clock;
649}
650
652 int clock = -999;
653 if ( m_forward ) { clock = m_forward->tclock(); }
654 return clock;
655}
656
658 int clock = -999;
659 if ( m_backward ) { clock = m_backward->qclock(); }
660 return clock;
661}
662
664 int clock = -999;
665 if ( m_backward ) { clock = m_backward->tclock(); }
666 return clock;
667}
668
670 int clock = -999;
671 if ( m_forward ) { clock = m_forward->qclock(); }
672 return clock;
673}
674
676 int clock = -999;
677 if ( m_forward ) { clock = m_forward->tclock(); }
678 return clock;
679}
680
682 int times = -1;
683 if ( m_forward ) { times = m_forward->qtimes(); }
684 return times;
685}
686
688 int times = -1;
689 if ( m_forward ) { times = m_forward->ttimes(); }
690 return times;
691}
692
694 int times = -1;
695 if ( m_backward ) { times = m_backward->qtimes(); }
696 return times;
697}
698
700 int times = -1;
701 if ( m_backward ) { times = m_backward->ttimes(); }
702 return times;
703}
704
705unsigned int TofData::eastTimes() {
706 int times = 0;
707 if ( m_forward ) { times = m_forward->times(); }
708 return times;
709}
710
711unsigned int TofData::westTimes() {
712 int times = 0;
713 if ( m_backward ) { times = m_backward->times(); }
714 return times;
715}
716
718 int number = 0;
719 if ( m_forward ) { number = m_forward->qnumber(); }
720 return number;
721}
722
724 int number = 0;
725 if ( m_forward ) { number = m_forward->tnumber(); }
726 return number;
727}
728
730 int number = 0;
731 if ( m_backward ) { number = m_backward->qnumber(); }
732 return number;
733}
734
736 int number = 0;
737 if ( m_backward ) { number = m_backward->tnumber(); }
738 return number;
739}
740
742 bool used = false;
743 if ( m_forward ) { used = ( used || m_forward->qused() ); }
744 return used;
745}
746
748 bool used = false;
749 if ( m_forward ) { used = ( used || m_forward->tused() ); }
750 return used;
751}
752
754 bool used = false;
755 if ( m_backward ) { used = ( used || m_backward->qused() ); }
756 return used;
757}
758
760 bool used = false;
761 if ( m_backward ) { used = ( used || m_backward->tused() ); }
762 return used;
763}
764
766 bool used = false;
767 if ( m_forward ) { used = ( used || m_forward->used() ); }
768 return used;
769}
770
772 bool used = false;
773 if ( m_backward ) { used = ( used || m_backward->used() ); }
774 return used;
775}
776
778 bool used = false;
779 if ( m_forward ) { used = ( used || m_forward->used() ); }
780 if ( m_backward ) { used = ( used || m_backward->used() ); }
781 return used;
782}
783
785 m_forward = pmt;
786 unsigned int quality = m_forward->quality();
787 quality = ( quality & 0x3 );
788 if ( quality != 0 )
789 {
790 m_forward->timespp();
791 if ( ( quality & 0x1 ) != 0 ) { m_forward->ttimespp(); }
792 if ( ( quality & 0x2 ) != 0 ) { m_forward->qtimespp(); }
793 }
794 m_quality = ( m_quality | ( quality << 2 ) );
795 return;
796}
797
799 m_backward = pmt;
800 unsigned int quality = m_backward->quality();
801 quality = ( quality & 0x3 );
802 if ( quality != 0 )
803 {
804 m_backward->timespp();
805 if ( ( quality & 0x1 ) != 0 ) { m_backward->ttimespp(); }
806 if ( ( quality & 0x2 ) != 0 ) { m_backward->qtimespp(); }
807 }
808 m_quality = ( m_quality | quality );
809 return;
810}
811
813 if ( m_forward ) { m_forward->setUsed(); }
814 if ( m_backward ) { m_backward->setUsed(); }
815 return;
816}
817
819 if ( m_forward )
820 {
821 if ( m_forward->times() <= 1 )
822 {
823 delete m_forward;
824 m_forward = 0;
825 }
826 else { m_forward->timesmm(); }
827 }
828 if ( m_backward )
829 {
830 if ( m_backward->times() <= 1 )
831 {
832 delete m_backward;
833 m_backward = 0;
834 }
835 else { m_backward->timesmm(); }
836 }
837 return;
838}
ITofQElecSvc * tofQElecSvc
ITofQCorrSvc * tofQCorrSvc
Adc()
Definition TofData.cxx:66
void setValue(Identifier identify, int value)
Definition TofData.cxx:73
void qtimespp()
Definition TofData.cxx:332
int qtimes()
Definition TofData.cxx:352
bool tused()
Definition TofData.cxx:382
int tdcChannel()
Definition TofData.cxx:304
void setAdc(Adc *adc)
Definition TofData.cxx:395
double tdc()
Definition TofData.cxx:310
bool qused()
Definition TofData.cxx:376
int ttimes()
Definition TofData.cxx:358
void qtimesmm()
Definition TofData.cxx:337
double adc()
Definition TofData.cxx:268
int tnumber()
Definition TofData.cxx:370
void setTdc(Tdc *tdc)
Definition TofData.cxx:405
void timespp()
Definition TofData.cxx:322
void ttimesmm()
Definition TofData.cxx:347
void timesmm()
Definition TofData.cxx:327
int adcChannel()
Definition TofData.cxx:252
void ttimespp()
Definition TofData.cxx:342
int qnumber()
Definition TofData.cxx:364
double qtc()
Definition TofData.cxx:258
void clear()
Definition TofData.cxx:421
int tclock()
Definition TofData.cxx:316
PmtData & operator=(const PmtData &source)
Definition TofData.cxx:243
bool used()
Definition TofData.cxx:388
void setUsed()
Definition TofData.cxx:415
int qclock()
Definition TofData.cxx:298
static double TofTime(unsigned int timeChannel)
void setValue(int value)
Definition TofData.cxx:44
int tdcChannel()
Definition TofData.cxx:639
double qtc2()
Definition TofData.cxx:597
int qnumber2()
Definition TofData.cxx:729
int qtimes2()
Definition TofData.cxx:693
void setUsed()
Definition TofData.cxx:812
bool tused2()
Definition TofData.cxx:759
unsigned int westTimes()
Definition TofData.cxx:711
int ttimes1()
Definition TofData.cxx:687
bool qused1()
Definition TofData.cxx:741
void data(double &adcEast, double &tdcEast, double &adcWest, double &tdcWest)
Definition TofData.cxx:526
bool tused1()
Definition TofData.cxx:747
double adc2()
Definition TofData.cxx:567
int tclock1()
Definition TofData.cxx:651
void setForward(PmtData *pmt)
Definition TofData.cxx:784
int qclock1()
Definition TofData.cxx:645
int tclock()
Definition TofData.cxx:675
double adc()
Definition TofData.cxx:579
double tdc2()
Definition TofData.cxx:573
double qtc1()
Definition TofData.cxx:591
TofData & operator=(const TofData &source)
Definition TofData.cxx:462
int tdcChannelWest()
Definition TofData.cxx:627
int adcChannel()
Definition TofData.cxx:633
void clear()
Definition TofData.cxx:818
bool used2()
Definition TofData.cxx:771
int qtimes1()
Definition TofData.cxx:681
int tnumber1()
Definition TofData.cxx:723
int adcChannelWest()
Definition TofData.cxx:621
bool qused2()
Definition TofData.cxx:753
double tdc1()
Definition TofData.cxx:561
void setBackward(PmtData *pmt)
Definition TofData.cxx:798
int qnumber1()
Definition TofData.cxx:717
int adcChannelEast()
Definition TofData.cxx:609
int qclock()
Definition TofData.cxx:669
int ttimes2()
Definition TofData.cxx:699
double adc1()
Definition TofData.cxx:555
int qclock2()
Definition TofData.cxx:657
unsigned int eastTimes()
Definition TofData.cxx:705
int tnumber2()
Definition TofData.cxx:735
bool used1()
Definition TofData.cxx:765
double tdc()
Definition TofData.cxx:585
void setIdentify(Identifier identify)
Definition TofData.cxx:494
int tclock2()
Definition TofData.cxx:663
int tdcChannelEast()
Definition TofData.cxx:615
double qtc()
Definition TofData.cxx:603
bool used()
Definition TofData.cxx:777
static int endcap(const Identifier &id)
Definition TofID.cxx:108
static int strip(const Identifier &id)
Definition TofID.cxx:120
static Identifier cell_id(int barrel_ec, int layer, int phi_module, int end)
For a single crystal.
Definition TofID.cxx:126
static bool is_scin(const Identifier &id)
Definition TofID.cxx:88
static int end(const Identifier &id)
Definition TofID.cxx:71
static bool is_mrpc(const Identifier &id)
Definition TofID.cxx:98
static int phi_module(const Identifier &id)
Definition TofID.cxx:65
static int barrel_ec(const Identifier &id)
Values of different levels (failure returns 0).
Definition TofID.cxx:54
static int layer(const Identifier &id)
Definition TofID.cxx:59
static int module(const Identifier &id)
Definition TofID.cxx:114
void timespp()
Definition TofData.cxx:34
TofValue & operator=(const TofValue &source)
Definition TofData.cxx:24
void timesmm()
Definition TofData.cxx:39
virtual ~TofValue()
Definition TofData.cxx:22