MarlinTPC  1.2.0
LCObjectCopier.h
1 #ifndef LC_OBJECT_COPIER_H
2 #define LC_OBJECT_COPIER_H 1
3 
4 #include <IMPL/TrackerPulseImpl.h>
5 #include <IMPL/TrackImpl.h>
6 #include <IMPL/TrackerDataImpl.h>
7 #include <IMPL/TrackerRawDataImpl.h>
8 #include <IMPL/MCParticleImpl.h>
9 #include <IMPL/SimTrackerHitImpl.h>
10 #include <IMPL/TrackerHitImpl.h>
11 
12 // this is a helper class for lcio objects, so I put it into the lcio namespace
13 namespace lcio
14 {
15 
31 {
32 
33  private:
37  LCObjectCopier() {};
38 
39 
40  public:
44  static IMPL::TrackerHitImpl * copy(const EVENT::TrackerHit * const inHit);
45 
50  static IMPL::TrackerPulseImpl * copy(const EVENT::TrackerPulse * const inPulse);
51 
56  static IMPL::TrackImpl * copy(const EVENT::Track * const track);
57 
61  static IMPL::TrackImpl * copyTrackWithoutHits(const EVENT::Track * const track);
62 
66  static IMPL::TrackerDataImpl* copy(const EVENT::TrackerData* const inData);
67 
71  static IMPL::TrackerRawDataImpl* copy(const EVENT::TrackerRawData* const inRawData);
72 
76  static IMPL::MCParticleImpl* copy(const EVENT::MCParticle* const inParticle);
77 
81  static IMPL::SimTrackerHitImpl* copy(const EVENT::SimTrackerHit* const inHit);
82 };
83 }
84 
85 #endif //OBJECT_COPIER_H
static IMPL::TrackerHitImpl * copy(const EVENT::TrackerHit *const inHit)
Copy function for the TrackerHit.
Definition: LCObjectCopier.cc:6
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).
Definition: LCObjectCopier.cc:57
LCObjectCopier is a helper class which gives a copy of a class without the readOnly flag set...
Definition: LCObjectCopier.h:30