Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
larwirecell
larwirecell
Components
SimDepoSource.h
Go to the documentation of this file.
1
/** A sim depo source provides IDepo objects to WCT from LS simulation objects.
2
3
Multiple strategies are possible for ingesting depositions into
4
WCT simulation.
5
6
1) Treat the vector of SimEnergyDeposit in each art::Event in
7
whole and independently from those in other art::Event's. That's
8
what this converter does.
9
10
2) Allow for multiple, independent vectors of SimEnergyDeposit
11
otherwise as above to each be ingested into WCT on each art::Event
12
and let WCT properly mix them (eg with WCT's Gen::DepoMerger
13
component).
14
15
3) As above but relax treating each art::Event atomically and
16
allow accumulation of depos spanning multiple visit()'s. This can
17
be used to allow art modules to feed WCT to set up a streaming
18
simulation such as one might want to do to simulate for DUNE
19
triggering studies. The back end of the WCT simulation will still
20
need to spit out discrete frames but it can do so such that their
21
boundaries can be stitched together seemlessly.
22
23
*/
24
25
#ifndef LARWIRECELL_COMPONENTS_SIMDEPOSOURCE
26
#define LARWIRECELL_COMPONENTS_SIMDEPOSOURCE
27
28
#include "
larwirecell/Interfaces/IArtEventVisitor.h
"
29
#include "WireCellIface/IDepoSource.h"
30
#include "WireCellIface/IConfigurable.h"
31
#include "WireCellIface/IDepo.h"
32
#include "
canvas/Utilities/InputTag.h
"
33
34
#include <deque>
35
36
namespace
wcls
{
37
38
namespace
bits {
39
class
DepoAdapter;
40
}
41
42
class
SimDepoSource
:
public
IArtEventVisitor
,
43
public
WireCell::IDepoSource,
44
public
WireCell::IConfigurable {
45
public
:
46
SimDepoSource
();
47
virtual
~
SimDepoSource
();
48
49
/// IArtEventVisitor
50
virtual
void
visit(
art::Event
&
event
);
51
52
/// IDepoSource
53
virtual
bool
operator()(WireCell::IDepo::pointer& out);
54
55
/// IConfigurable
56
virtual
WireCell::Configuration
default_configuration()
const
;
57
virtual
void
configure(
const
WireCell::Configuration
&
config
);
58
59
private
:
60
std::deque<WireCell::IDepo::pointer>
m_depos
;
61
bits::DepoAdapter
*
m_adapter
;
62
63
art::InputTag
m_inputTag
;
64
art::InputTag
m_assnTag
;
// associated input
65
};
66
}
67
#endif
wcls
Definition:
ChannelNoiseDB.h:7
wcls::SimDepoSource::m_depos
std::deque< WireCell::IDepo::pointer > m_depos
Definition:
SimDepoSource.h:60
wcls::SimDepoSource
Definition:
SimDepoSource.h:42
IArtEventVisitor.h
wcls::SimDepoSource::m_assnTag
art::InputTag m_assnTag
Definition:
SimDepoSource.h:64
art::errors::Configuration
Definition:
Exception.h:32
config
static Config * config
Definition:
config.cpp:1054
wcls::SimDepoSource::m_inputTag
art::InputTag m_inputTag
Definition:
SimDepoSource.h:63
art::InputTag
Definition:
InputTag.h:12
wcls::SimDepoSource::m_adapter
bits::DepoAdapter * m_adapter
Definition:
SimDepoSource.h:61
art::Event
Definition:
Event.h:22
InputTag.h
wcls::IArtEventVisitor
Definition:
IArtEventVisitor.h:23
event
Event finding and building.
Definition:
EventCheater_module.cc:32
wcls::bits::DepoAdapter
Definition:
SimDepoSource.cxx:33
Generated by
1.8.11