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

#include <WireGenerator.h>

Inheritance diagram for WireCell::WireGenerator:
WireCell::IWireGenerator WireCell::IFunctionNode< IWireParameters, IWire::vector > WireCell::IFunctionNodeBase WireCell::INode WireCell::IComponent< INode > WireCell::Interface

Public Member Functions

 WireGenerator ()
 
virtual ~WireGenerator ()
 
virtual bool operator() (const input_pointer &params, output_pointer &wires)
 The calling signature: More...
 
- Public Member Functions inherited from WireCell::IWireGenerator
virtual ~IWireGenerator ()
 
virtual std::string signature ()
 Set the signature for all subclasses. More...
 
- Public Member Functions inherited from WireCell::IFunctionNode< IWireParameters, IWire::vector >
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 ()
 
- Public Member Functions inherited from WireCell::Interface
virtual ~Interface ()
 

Additional Inherited Members

- Public Types inherited from WireCell::IFunctionNode< IWireParameters, IWire::vector >
typedef IWireParameters input_type
 
typedef IWire::vector output_type
 
typedef std::shared_ptr< const IWireParametersinput_pointer
 
typedef std::shared_ptr< const IWire::vectoroutput_pointer
 
typedef IFunctionNode< IWireParameters, IWire::vectorsignature_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...
 
- Public Types inherited from WireCell::Interface
typedef std::shared_ptr< Interfacepointer
 

Detailed Description

A source of wire (segment) geometry as generated from parameters.

All wires in one plane are constructed to be parallel to one-another and to be equally spaced between neighbors and perpendicular to the drift direction.

Definition at line 18 of file WireGenerator.h.

Constructor & Destructor Documentation

WireGenerator::WireGenerator ( )

Definition at line 148 of file WireGenerator.cxx.

149 {
150 }
WireGenerator::~WireGenerator ( )
virtual

Definition at line 152 of file WireGenerator.cxx.

153 {
154 }

Member Function Documentation

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

The calling signature:

Implements WireCell::IFunctionNode< IWireParameters, IWire::vector >.

Definition at line 133 of file WireGenerator.cxx.

134 {
135  if (!wp) {
136  wires = nullptr;
137  return true;
138  }
139  IWire::vector* pwires = new IWire::vector;
140  make_one_plane(*pwires, WirePlaneId(kUlayer), wp->bounds(), wp->pitchU());
141  make_one_plane(*pwires, WirePlaneId(kVlayer), wp->bounds(), wp->pitchV());
142  make_one_plane(*pwires, WirePlaneId(kWlayer), wp->bounds(), wp->pitchW());
143  wires = output_pointer (pwires);
144  return true;
145 }
std::vector< pointer > vector
Definition: IData.h:21
std::shared_ptr< const IWire::vector > output_pointer
Definition: IFunctionNode.h:40
static void make_one_plane(IWire::vector &returned_wires, WirePlaneId wpid, const Ray &bounds, const Ray &step)

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