Public Member Functions | List of all members
WireCell::Img::SumSlicer Class Reference

#include <SumSlice.h>

Inheritance diagram for WireCell::Img::SumSlicer:
WireCell::Img::SumSliceBase WireCell::IFrameSlicer WireCell::IConfigurable WireCell::IFunctionNode< IFrame, ISliceFrame > WireCell::IComponent< IConfigurable > WireCell::IFunctionNodeBase WireCell::Interface WireCell::INode WireCell::IComponent< INode > WireCell::Interface

Public Member Functions

virtual ~SumSlicer ()
 
bool operator() (const input_pointer &in, output_pointer &out)
 The calling signature: More...
 
- Public Member Functions inherited from WireCell::Img::SumSliceBase
 SumSliceBase ()
 
virtual ~SumSliceBase ()
 
virtual void configure (const WireCell::Configuration &cfg)
 Accept a configuration. More...
 
virtual WireCell::Configuration default_configuration () const
 Optional, override to return a hard-coded default configuration. More...
 
- Public Member Functions inherited from WireCell::IConfigurable
virtual ~IConfigurable ()
 
- Public Member Functions inherited from WireCell::IComponent< IConfigurable >
virtual ~IComponent ()
 
- Public Member Functions inherited from WireCell::Interface
virtual ~Interface ()
 
- Public Member Functions inherited from WireCell::IFrameSlicer
virtual ~IFrameSlicer ()
 
virtual std::string signature ()
 Set the signature for all subclasses. More...
 
- Public Member Functions inherited from WireCell::IFunctionNode< IFrame, ISliceFrame >
virtual ~IFunctionNode ()
 
virtual bool operator() (const boost::any &anyin, boost::any &anyout)
 The calling signature: More...
 
virtual std::vector< std::stringinput_types ()
 
virtual std::vector< std::stringoutput_types ()
 
- Public Member Functions inherited from WireCell::IFunctionNodeBase
virtual ~IFunctionNodeBase ()
 
virtual NodeCategory category ()
 Return the behavior category type. More...
 
virtual int concurrency ()
 By default assume all subclasses are stateless. More...
 
- Public Member Functions inherited from WireCell::INode
virtual ~INode ()
 
virtual void reset ()
 
- Public Member Functions inherited from WireCell::IComponent< INode >
virtual ~IComponent ()
 

Additional Inherited Members

- Public Types inherited from WireCell::IComponent< IConfigurable >
typedef std::shared_ptr< IConfigurablepointer
 Access subclass facet by pointer. More...
 
typedef std::vector< pointervector
 Vector of shared pointers. More...
 
- Public Types inherited from WireCell::Interface
typedef std::shared_ptr< Interfacepointer
 
- Public Types inherited from WireCell::IFrameSlicer
typedef std::shared_ptr< IFrameSlicerpointer
 
- Public Types inherited from WireCell::IFunctionNode< IFrame, ISliceFrame >
typedef IFrame input_type
 
typedef ISliceFrame output_type
 
typedef std::shared_ptr< const IFrameinput_pointer
 
typedef std::shared_ptr< const ISliceFrameoutput_pointer
 
typedef IFunctionNode< IFrame, ISliceFramesignature_type
 
- Public Types inherited from WireCell::IFunctionNodeBase
typedef std::shared_ptr< IFunctionNodeBasepointer
 
- Public Types inherited from WireCell::INode
enum  NodeCategory {
  unknown, sourceNode, sinkNode, functionNode,
  queuedoutNode, joinNode, splitNode, faninNode,
  fanoutNode, multioutNode, hydraNode
}
 
- Public Types inherited from WireCell::IComponent< INode >
typedef std::shared_ptr< INodepointer
 Access subclass facet by pointer. More...
 
typedef std::vector< pointervector
 Vector of shared pointers. More...
 
- Protected Types inherited from WireCell::Img::SumSliceBase
typedef std::map< size_t, Data::Slice * > slice_map_t
 
- Protected Member Functions inherited from WireCell::Img::SumSliceBase
void slice (const IFrame::pointer &in, slice_map_t &sm)
 

Detailed Description

Definition at line 65 of file SumSlice.h.

Constructor & Destructor Documentation

Img::SumSlicer::~SumSlicer ( )
virtual

Definition at line 20 of file SumSlice.cxx.

20 { }

Member Function Documentation

bool Img::SumSlicer::operator() ( const input_pointer in,
output_pointer out 
)
virtual

The calling signature:

Implements WireCell::IFunctionNode< IFrame, ISliceFrame >.

Definition at line 76 of file SumSlice.cxx.

77 {
78  out = nullptr;
79  if (!in) {
80  return true; // eos
81  }
82 
83  // Slices will be sparse in general. Index by a "slice bin" number
84  slice_map_t svcmap;
85  slice(in, svcmap);
86 
87  // intern
88  ISlice::vector islices;
89  for (auto sit : svcmap) {
90  auto s = sit.second;
91  islices.push_back(ISlice::pointer(s));
92  }
93  out = make_shared<Img::Data::SliceFrame>(islices, in->ident(), in->time());
94 
95  return true;
96 }
std::shared_ptr< const ISlice > pointer
Definition: IData.h:19
std::map< size_t, Data::Slice * > slice_map_t
Definition: SumSlice.h:55
std::vector< pointer > vector
Definition: IData.h:21
void slice(const IFrame::pointer &in, slice_map_t &sm)
Definition: SumSlice.cxx:48
static QCString * s
Definition: config.cpp:1042

The documentation for this class was generated from the following files: