#include "AliLog.h"
#include "AliVZEROLogicalSignal.h"
ClassImp(AliVZEROLogicalSignal)
AliVZEROLogicalSignal::AliVZEROLogicalSignal() : TObject(), fStart(0.), fStop(0.)
{
}
AliVZEROLogicalSignal::AliVZEROLogicalSignal(UShort_t profilClock, UInt_t delay) : TObject(), fStart(0.), fStop(0.)
{
Bool_t word;
Bool_t up=kFALSE;
Bool_t down=kFALSE;
for(int i=0 ; i<5 ; i++) {
Int_t shift = (i<4) ? (3-i) : 4;
word = (profilClock >> shift) & 0x1;
if(word&&!up) {
fStart = 5. * (i + 1);
up = kTRUE;
}
if(!word&&up&&!down) {
fStop = 5. * (i + 1);
down = kTRUE;
}
}
if(!down) fStop = 30.;
fStart += delay*1e-2;
fStop += delay*1e-2;
}
AliVZEROLogicalSignal::AliVZEROLogicalSignal(const AliVZEROLogicalSignal &signal) :
TObject(), fStart(signal.fStart),
fStop(signal.fStop)
{
}
AliVZEROLogicalSignal::~AliVZEROLogicalSignal(){
}
AliVZEROLogicalSignal& AliVZEROLogicalSignal::operator =
(const AliVZEROLogicalSignal& signal)
{
if(&signal == this) return *this;
fStart = signal.fStart;
fStop = signal.fStop;
return *this;
}
AliVZEROLogicalSignal AliVZEROLogicalSignal::operator|(const AliVZEROLogicalSignal& signal) const
{
if((fStart>signal.fStop) || (signal.fStart>fStop))
AliError(Form("Both signal do not superpose in time.\n Start(A) = %f Stop(A) = %f\n Start(B) = %f Stop(B) = %f",fStart, fStop, signal.fStart,signal.fStop));
AliVZEROLogicalSignal result;
if(fStart<signal.fStart) result.fStart = fStart;
else result.fStart = signal.fStart;
if(fStop>signal.fStop) result.fStop = fStop;
else result.fStop = signal.fStop;
return result;
}
AliVZEROLogicalSignal AliVZEROLogicalSignal::operator&(const AliVZEROLogicalSignal& signal) const
{
if((fStart>signal.fStop) || (signal.fStart>fStop))
AliError(Form("Both signal do not superpose in time.\n Start(A) = %f Stop(A) = %f\n Start(B) = %f Stop(B) = %f",fStart, fStop, signal.fStart,signal.fStop));
AliVZEROLogicalSignal result;
if(fStart>signal.fStart) result.fStart = fStart;
else result.fStart = signal.fStart;
if(fStop<signal.fStop) result.fStop = fStop;
else result.fStop = signal.fStop;
return result;
}
Bool_t AliVZEROLogicalSignal::IsInCoincidence(Float_t time) const
{
Bool_t result = kFALSE;
if((time>fStart) && (time<fStop)) result = kTRUE;
return result;
}
AliVZEROLogicalSignal.cxx:1 AliVZEROLogicalSignal.cxx:2 AliVZEROLogicalSignal.cxx:3 AliVZEROLogicalSignal.cxx:4 AliVZEROLogicalSignal.cxx:5 AliVZEROLogicalSignal.cxx:6 AliVZEROLogicalSignal.cxx:7 AliVZEROLogicalSignal.cxx:8 AliVZEROLogicalSignal.cxx:9 AliVZEROLogicalSignal.cxx:10 AliVZEROLogicalSignal.cxx:11 AliVZEROLogicalSignal.cxx:12 AliVZEROLogicalSignal.cxx:13 AliVZEROLogicalSignal.cxx:14 AliVZEROLogicalSignal.cxx:15 AliVZEROLogicalSignal.cxx:16 AliVZEROLogicalSignal.cxx:17 AliVZEROLogicalSignal.cxx:18 AliVZEROLogicalSignal.cxx:19 AliVZEROLogicalSignal.cxx:20 AliVZEROLogicalSignal.cxx:21 AliVZEROLogicalSignal.cxx:22 AliVZEROLogicalSignal.cxx:23 AliVZEROLogicalSignal.cxx:24 AliVZEROLogicalSignal.cxx:25 AliVZEROLogicalSignal.cxx:26 AliVZEROLogicalSignal.cxx:27 AliVZEROLogicalSignal.cxx:28 AliVZEROLogicalSignal.cxx:29 AliVZEROLogicalSignal.cxx:30 AliVZEROLogicalSignal.cxx:31 AliVZEROLogicalSignal.cxx:32 AliVZEROLogicalSignal.cxx:33 AliVZEROLogicalSignal.cxx:34 AliVZEROLogicalSignal.cxx:35 AliVZEROLogicalSignal.cxx:36 AliVZEROLogicalSignal.cxx:37 AliVZEROLogicalSignal.cxx:38 AliVZEROLogicalSignal.cxx:39 AliVZEROLogicalSignal.cxx:40 AliVZEROLogicalSignal.cxx:41 AliVZEROLogicalSignal.cxx:42 AliVZEROLogicalSignal.cxx:43 AliVZEROLogicalSignal.cxx:44 AliVZEROLogicalSignal.cxx:45 AliVZEROLogicalSignal.cxx:46 AliVZEROLogicalSignal.cxx:47 AliVZEROLogicalSignal.cxx:48 AliVZEROLogicalSignal.cxx:49 AliVZEROLogicalSignal.cxx:50 AliVZEROLogicalSignal.cxx:51 AliVZEROLogicalSignal.cxx:52 AliVZEROLogicalSignal.cxx:53 AliVZEROLogicalSignal.cxx:54 AliVZEROLogicalSignal.cxx:55 AliVZEROLogicalSignal.cxx:56 AliVZEROLogicalSignal.cxx:57 AliVZEROLogicalSignal.cxx:58 AliVZEROLogicalSignal.cxx:59 AliVZEROLogicalSignal.cxx:60 AliVZEROLogicalSignal.cxx:61 AliVZEROLogicalSignal.cxx:62 AliVZEROLogicalSignal.cxx:63 AliVZEROLogicalSignal.cxx:64 AliVZEROLogicalSignal.cxx:65 AliVZEROLogicalSignal.cxx:66 AliVZEROLogicalSignal.cxx:67 AliVZEROLogicalSignal.cxx:68 AliVZEROLogicalSignal.cxx:69 AliVZEROLogicalSignal.cxx:70 AliVZEROLogicalSignal.cxx:71 AliVZEROLogicalSignal.cxx:72 AliVZEROLogicalSignal.cxx:73 AliVZEROLogicalSignal.cxx:74 AliVZEROLogicalSignal.cxx:75 AliVZEROLogicalSignal.cxx:76 AliVZEROLogicalSignal.cxx:77 AliVZEROLogicalSignal.cxx:78 AliVZEROLogicalSignal.cxx:79 AliVZEROLogicalSignal.cxx:80 AliVZEROLogicalSignal.cxx:81 AliVZEROLogicalSignal.cxx:82 AliVZEROLogicalSignal.cxx:83 AliVZEROLogicalSignal.cxx:84 AliVZEROLogicalSignal.cxx:85 AliVZEROLogicalSignal.cxx:86 AliVZEROLogicalSignal.cxx:87 AliVZEROLogicalSignal.cxx:88 AliVZEROLogicalSignal.cxx:89 AliVZEROLogicalSignal.cxx:90 AliVZEROLogicalSignal.cxx:91 AliVZEROLogicalSignal.cxx:92 AliVZEROLogicalSignal.cxx:93 AliVZEROLogicalSignal.cxx:94 AliVZEROLogicalSignal.cxx:95 AliVZEROLogicalSignal.cxx:96 AliVZEROLogicalSignal.cxx:97 AliVZEROLogicalSignal.cxx:98 AliVZEROLogicalSignal.cxx:99 AliVZEROLogicalSignal.cxx:100 AliVZEROLogicalSignal.cxx:101 AliVZEROLogicalSignal.cxx:102 AliVZEROLogicalSignal.cxx:103 AliVZEROLogicalSignal.cxx:104 AliVZEROLogicalSignal.cxx:105 AliVZEROLogicalSignal.cxx:106 AliVZEROLogicalSignal.cxx:107 AliVZEROLogicalSignal.cxx:108 AliVZEROLogicalSignal.cxx:109 AliVZEROLogicalSignal.cxx:110 AliVZEROLogicalSignal.cxx:111 AliVZEROLogicalSignal.cxx:112 AliVZEROLogicalSignal.cxx:113 AliVZEROLogicalSignal.cxx:114 AliVZEROLogicalSignal.cxx:115 AliVZEROLogicalSignal.cxx:116 AliVZEROLogicalSignal.cxx:117 AliVZEROLogicalSignal.cxx:118 AliVZEROLogicalSignal.cxx:119 AliVZEROLogicalSignal.cxx:120 AliVZEROLogicalSignal.cxx:121 AliVZEROLogicalSignal.cxx:122 AliVZEROLogicalSignal.cxx:123 AliVZEROLogicalSignal.cxx:124 AliVZEROLogicalSignal.cxx:125