Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
dunesim
dunesim
DetSim
Service
Dune35tZeroSuppressService.h
Go to the documentation of this file.
1
// Dune35tZeroSuppressService.h
2
//
3
// David Adams
4
// November 2015
5
//
6
// Utility/service wrapper for 35-ton zero suppression.
7
//
8
// The algorithm is that described by James Russell at the September 2015
9
// DUNE collaboration meeting:
10
// https://indico.fnal.gov/conferenceOtherViews.py?view=standard&confId=10100
11
// and is described with later modifications at
12
// https://cdcvs.fnal.gov/redmine/projects/35ton/wiki/Data_compression_and_zero_suppression
13
14
#ifndef Dune35tZeroSuppressService_H
15
#define Dune35tZeroSuppressService_H
16
17
#include "
dunecore/DuneInterface/Service/AdcSuppressService.h
"
18
19
#include <memory>
20
#include <string>
21
#include <iostream>
22
23
namespace
fhicl
{
24
class
ParameterSet;
25
}
26
namespace
art
{
27
class
ActivityRegistry;
28
}
29
30
class
Dune35tZeroSuppressService
:
public
AdcSuppressService
{
31
32
public
:
33
34
typedef
unsigned
int
Index
;
35
36
// Ctor from parameters.
37
Dune35tZeroSuppressService
(
AdcCount
ts,
AdcCount
tl,
AdcCount
td, Index
ns
, Index
nl
, Index nd, Index nt);
38
39
// Ctor from FCL.
40
Dune35tZeroSuppressService
(
fhicl::ParameterSet
const
& pset,
art::ActivityRegistry
&);
41
42
// Filter an array of signals. Result is written to keep.
43
int
filter
(
const
AdcCountVector
& sigs,
Channel
chan,
AdcPedestal
ped,
AdcFilterVector
& keep)
const
;
44
45
// Print the configuration.
46
std::ostream& print(std::ostream& out =std::cout,
std::string
prefix
=
""
)
const
;
47
48
// Set the debug flag.
49
void
setDebug(
int
dbg
);
50
51
private
:
52
53
// Parameters.
54
AdcCount
m_ts
;
55
AdcCount
m_tl
;
56
AdcCount
m_td
;
57
Index
m_ns
;
58
Index
m_nl
;
59
Index
m_nd
;
60
Index
m_nt
;
61
int
m_LogLevel
;
62
63
};
64
65
DECLARE_ART_SERVICE_INTERFACE_IMPL
(
Dune35tZeroSuppressService
,
AdcSuppressService
, LEGACY)
66
67
#endif
Dune35tZeroSuppressService
Definition:
Dune35tZeroSuppressService.h:30
AdcCountVector
std::vector< AdcCount > AdcCountVector
Definition:
AdcTypes.h:19
AdcSuppressService.h
submit_ppfxjobs.prefix
string prefix
Definition:
submit_ppfxjobs.py:128
dbg
bool dbg
Definition:
TPadManipulator.cxx:35
Dune35tZeroSuppressService::m_td
AdcCount m_td
Definition:
Dune35tZeroSuppressService.h:56
string
std::string string
Definition:
nybbler.cc:12
DECLARE_ART_SERVICE_INTERFACE_IMPL
DECLARE_ART_SERVICE_INTERFACE_IMPL(MySharedService, art::test::MyServiceInterface, SHARED) DEFINE_ART_SERVICE_INTERFACE_IMPL(MySharedService
filter
Framework.
Definition:
ProtoDUNEUnstableHVFilter_module.cc:44
Dune35tZeroSuppressService::m_nl
Index m_nl
Definition:
Dune35tZeroSuppressService.h:58
AdcSuppressService::Channel
unsigned int Channel
Definition:
AdcSuppressService.h:31
fhicl
Definition:
InputSourceFactory.h:7
Dune35tZeroSuppressService::m_LogLevel
int m_LogLevel
Definition:
Dune35tZeroSuppressService.h:61
AdcFilterVector
std::vector< bool > AdcFilterVector
Definition:
AdcTypes.h:27
Dune35tZeroSuppressService::m_nt
Index m_nt
Definition:
Dune35tZeroSuppressService.h:60
AdcPedestal
float AdcPedestal
Definition:
AdcTypes.h:25
Dune35tZeroSuppressService::m_ts
AdcCount m_ts
Definition:
Dune35tZeroSuppressService.h:54
art::ActivityRegistry
Definition:
ActivityRegistry.h:52
art
Definition:
BasicOptionsHandler.h:9
Dune35tZeroSuppressService::m_tl
AdcCount m_tl
Definition:
Dune35tZeroSuppressService.h:55
Dune35tZeroSuppressService::Index
unsigned int Index
Definition:
Dune35tZeroSuppressService.h:34
Dune35tZeroSuppressService::m_ns
Index m_ns
Definition:
Dune35tZeroSuppressService.h:57
AdcCount
short AdcCount
Definition:
AdcTypes.h:18
ns
QAsciiDict< Entry > ns
Definition:
tclscanner.cpp:1147
Dune35tZeroSuppressService::m_nd
Index m_nd
Definition:
Dune35tZeroSuppressService.h:59
fhicl::detail::nl
std::string nl(std::size_t i=1)
Definition:
printing_helpers.h:18
AdcSuppressService
Definition:
AdcSuppressService.h:27
fhicl::ParameterSet
Definition:
ParameterSet.h:36
Generated by
1.8.11