MarlinTPC  1.2.0
Static Public Member Functions | List of all members
lcio::LCObjectCopier Class Reference

LCObjectCopier is a helper class which gives a copy of a class without the readOnly flag set, which is the case if you copy a object from a file using the copy constructor. More...

#include <LCObjectCopier.h>

Static Public Member Functions

static IMPL::TrackerHitImpl * copy (const EVENT::TrackerHit *const inHit)
 Copy function for the TrackerHit. More...
 
static IMPL::TrackerPulseImpl * copy (const EVENT::TrackerPulse *const inPulse)
 Copy function for the TrackerPulse. More...
 
static IMPL::TrackImpl * copy (const EVENT::Track *const track)
 Copy function for the Track. More...
 
static IMPL::TrackImpl * copyTrackWithoutHits (const EVENT::Track *const track)
 Copy function for the Tracker without the hits (hits cannot be removed from a track, so this is useful to preserve the track parameters).
 
static IMPL::TrackerDataImpl * copy (const EVENT::TrackerData *const inData)
 Copy function for the TrackerData.
 
static IMPL::TrackerRawDataImpl * copy (const EVENT::TrackerRawData *const inRawData)
 Copy function for the TrackerRawData.
 
static IMPL::MCParticleImpl * copy (const EVENT::MCParticle *const inParticle)
 Copy function for the MCParticle.
 
static IMPL::SimTrackerHitImpl * copy (const EVENT::SimTrackerHit *const inHit)
 Copy function for SimTrackerHit.
 

Detailed Description

LCObjectCopier is a helper class which gives a copy of a class without the readOnly flag set, which is the case if you copy a object from a file using the copy constructor.

It always returns an IMPL of the class, as the abstract EVENT classes cannot be instantiated. But you want an IMPL anyhow since you want to modify it. Otherwise you would not care about readOnly and thus not need this class at all.
ATTENTION:

To implement for a new lcio-class, just overload the static clone() function.

Member Function Documentation

IMPL::TrackerHitImpl * lcio::LCObjectCopier::copy ( const EVENT::TrackerHit *const  inHit)
static
IMPL::TrackerPulseImpl * lcio::LCObjectCopier::copy ( const EVENT::TrackerPulse *const  inPulse)
static

Copy function for the TrackerPulse.

LCIO v01-08
Attention, does only copy the pointer of TrackerData This is no clone/ deep copy function.

IMPL::TrackImpl * lcio::LCObjectCopier::copy ( const EVENT::Track *const  track)
static

Copy function for the Track.

LCIO v01-11
The tracker hits are alway a subcollection, so it's save to just copy the pointers.

References copyTrackWithoutHits().


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