-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMADC32Unpacker.h
58 lines (42 loc) · 1.46 KB
/
CMADC32Unpacker.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
This software is Copyright by the Board of Trustees of Michigan
State University (c) Copyright 2005.
You may use this software under the terms of the GNU public license
(GPL). The terms of this license are described at:
http://www.gnu.org/licenses/gpl.txt
Author:
Ron Fox
NSCL
Michigan State University
East Lansing, MI 48824-1321
*/
#ifndef __CMADC32UNPACKER_H
#define __CMADC32UNPACKER_H
#ifndef __CMODULEUNPACKER_H
#include "CModuleUnpacker.h"
#endif
/*!
This module is responsible for unpacking the Mesytec MADC-32 32 channel ADC.
These modules have a virtual slot number. It is therefore possible to
to do perfect matching on the data stream.. and to deal with complete supression
of the module in the data stream.
One wrinkle is that the module actually recognized 33 channels. Channel 0-31
are the conversions of the various channels of the ADC module. Channel 32 is
the timestamp/event-number.
this allows the user to create strip charts of something vs time (e.g. counts of
hits in some place)
*/
class CMADC32Unpacker : public CModuleUnpacker
{
// canonicals:
public:
CMADC32Unpacker();
virtual ~CMADC32Unpacker();
// The unpacker entry:
public:
virtual unsigned int operator()(CEvent& rEvent,
std::vector<unsigned short>& event,
unsigned int offset,
CParamMapCommand::AdcMapping* pMap);
};
#endif