[Daqpp-forum] [Fwd: Re: progress update]
Brought to you by:
lacasta
|
From: Andrej S. <and...@ij...> - 2007-01-31 16:08:21
|
A DataRecord issue. Look at the original message below and here is Eric's
reply.
---------------------------- Original Message ---------------------------=
-
Subject: Re: progress update
From: "Eric Cochran" <coc...@os...>
Date: Wed, January 31, 2007 10:41
To: and...@ij...
-------------------------------------------------------------------------=
-
Andrej,
Yes, I remember this now, I don't think it was ever resolved. I verified
that the correct value of BigDataRecord is used in SecondDetector.cc when
the data is passed on in the getData method, but somehow a value 2 greate=
r
than whatever I set BigDataRecord to gets written to the file. I believe =
I
asked Carlos about this but don't think I ever got a response. I will loo=
k
into it again, maybe I know a little more about vmedaq now, but we should
probably ask Carlos about it as well to try to clear it up as soon as
possible.
As a temporary fix, I recall that I made a separate DataFormat.h file for
the offline analysis in which I changed the BigDataRecord value to an "a"=
or
whatever actually got written to the file.
-Eric
On 1/30/07, Andrej Studen <and...@ij...> wrote:
>
> Hey Eric!
>
> I was trying to look at files that we collected last week. Although I w=
as
> only looking for silicon records the program was crashing. I went in wi=
th
> a debugger and found that data started with spurious record (here is th=
e
> pipe out):
>
> Breakpoint 2, VMEdaq::read (this=3D0xbfe93090) at vmedaq.cc:77
> 77 if (IsBigDataRecord(x)) {
> (gdb) print /x x
> $10 =3D 0xcafea000
>
> Big record should be 0xcafe8000 right?
>
> (DataFormat.h here reads :
>
> const unsigned long DataHeader =3D 0xcafe0000;
> enum EventType {
> StartOfRunRecord =3D 0x1000,
> DataRecord =3D 0x2000,
> EndOfRunRecord =3D 0x3000,
> PedestalRecord =3D 0x4000,
> NewPointRecord =3D 0x5000,
> MapRecord =3D 0x6000,
> ScanRecord =3D 0x7000,
> BigDataRecord =3D 0x8000,
> };
>
> )
>
> Is it a coincidence that SIS3300data DataType has an a in it?
>
> enum DataType {
> NormalData =3D 0x10000,
> PulseData =3D 0x20000,
> ScanData =3D 0x30000,
> ADCdata =3D 0x40000,
> CSPRINTdata =3D 0x80000,
> FBTDCdata =3D 0x90000,
> SIS3300data =3D 0xa0000,
> SecDetData =3D 0xb0000
> };
>
> I guess it crashes because 0xcafea000 is treated as ordinary record wit=
h a
> size of 0 and then a gzread with a size of -4bytes (ie. one unsigned lo=
ng)
> is attempted.
>
> How do we wiggle our way out of this one?
>
> Andrej
>
>
>
>
|