|
DD4hep
1.30.0
Detector Description Toolkit for High Energy Physics
|
Go to the documentation of this file.
13 #ifndef DD4HEP_VOLUMEPROCESSOR_H
14 #define DD4HEP_VOLUMEPROCESSOR_H
87 {
return (processor)(pv, level); }
91 template <
typename T>
inline
119 {
return (*processor)(pv, level); }
145 template <
typename Q>
147 { scan(proc, start.
placement(), level, recursive); }
150 template <
typename Q>
152 { scan(proc, start.
placement(), level, recursive); }
155 template <
typename Q>
157 { scan(proc, start, level, recursive); }
160 template <
typename Q>
162 { scan(proc, start, level, recursive); }
166 return proc.
process(start, level, recursive);
169 template <
typename Q>
172 return proc.process(start, level, recursive);
175 template <
typename Q>
178 return proc.process(start, level, recursive);
182 #endif // DD4HEP_VOLUMEPROCESSOR_H
Generic PlacedVolume processor.
PlacedVolumeScanner & operator=(const PlacedVolumeScanner ©)=default
Assignment operator.
PlacedVolumeProcessor()=default
Initializing constructor.
int scanPlacements(PlacedVolumeProcessor &proc, PlacedVolume start, int level=0, bool recursive=true) const
PlacedVolume element tree scanner using wrapped PlacedVolumeProcessor objects.
PlacementProcessorShared & operator=(const PlacementProcessorShared ©)=default
Default assignment.
Handle class holding a placed volume (also called physical volume)
PlacedVolume placement() const
Access to the physical volume of this detector element.
PlacementProcessor(PlacementProcessor &©)=default
R-value copy from a temporary (Since processor is reference)
PlacementProcessor(T &&p)=delete
Default move constructor is disabled.
PlacementProcessor()=delete
Default constructor.
PlacedVolumeScanner(Q &proc, PlacedVolume start, int level=0, bool recursive=true)
Constructor performing the scan internally.
PlacedVolumeScanner()=default
Default constructor.
virtual ~PlacedVolumeProcessor() noexcept(false)
Default destructor.
PlacementProcessorShared()=delete
Default constructor.
virtual int operator()(PlacedVolume pv, int level) final
Callback to output detector information of an single DetElement.
T & processor
Reference to execution object implementing operator()(PlacedVolume pv, int level)
virtual ~PlacementProcessorShared()=default
Default destructor.
PlacedVolumeScanner(const Q &proc, PlacedVolume start, int level=0, bool recursive=true)
Constructor performing the scan internally.
PlacedVolumeProcessor(PlacedVolumeProcessor &©)=default
R-value copy from a temporary (Since processor is reference)
virtual ~PlacementProcessor()=default
Default destructor.
virtual int process(PlacedVolume pv, int level, bool recursive)
Callback to output PlacedVolume information of an entire Placement.
Handle class describing a detector element.
PlacementProcessor & operator=(const PlacementProcessor ©)=default
Default assignment.
PlacedVolumeScanner(const PlacedVolumeScanner ©)=default
Copy constructor.
PlacementProcessor(const PlacementProcessor ©)=default
Default copy constructor.
Helper to run placement scan through volume hierarchies scans.
int scan(const Q &p, PlacedVolume start, int level=0, bool recursive=true) const
PlacedVolume element tree scanner using wrapped PlacedVolumeProcessor objects.
virtual int operator()(PlacedVolume pv, int level) final
Callback to output detector information of an single placement.
PlacementProcessorShared(const PlacementProcessorShared ©)=default
Default copy constructor.
PlacementProcessor(T &p)
Default constructor.
PlacedVolumeScanner(const Q &proc, DetElement start, int level=0, bool recursive=true)
Constructor performing the scan internally.
std::shared_ptr< T > processor
Reference to execution object implementing operator()(PlacedVolume pv, int level)
PlacedVolumeProcessor(const PlacedVolumeProcessor ©)=default
Default copy constructor.
Wrapper to call objects in the form of a PlacedVolume processor.
PlacedVolume scanner using a Processor object.
PlacementProcessorShared(std::shared_ptr< T > &p)
Default constructor.
Namespace for the AIDA detector description toolkit.
PlacementProcessor< typename std::remove_reference< T >::type > placementProcessor(T &&proc)
Instantiation helper.
int scan(Q &p, PlacedVolume start, int level=0, bool recursive=true) const
PlacedVolume element tree scanner using wrapped PlacedVolumeProcessor objects.
PlacedVolumeScanner(Q &proc, DetElement start, int level=0, bool recursive=true)
Constructor performing the scan internally.