File indexing completed on 2025-08-06 08:18:16
0001 #ifndef TRACKINFOCONTAINERV2_H
0002 #define TRACKINFOCONTAINERV2_H
0003
0004 #include "TrackInfoContainer.h"
0005
0006 #include "SvtxTrackInfo_v2.h"
0007
0008 #include <phool/PHObject.h>
0009
0010 #include <TClonesArray.h>
0011
0012 class TrackInfoContainer_v2 : public TrackInfoContainer
0013 {
0014 public:
0015 TrackInfoContainer_v2();
0016 ~TrackInfoContainer_v2() override;
0017 void identify(std::ostream &os = std::cout) const override;
0018 void Reset() override;
0019
0020 size_t size() const override { return _clones->GetEntries(); }
0021
0022 SvtxTrackInfo_v2 *get_trackinfo(int pos) override
0023 {
0024 return (SvtxTrackInfo_v2 *) _clones->At(pos);
0025 }
0026
0027 void add_trackinfo(int pos, SvtxTrackInfo trackinfo) override
0028 {
0029 new ((*_clones)[pos]) SvtxTrackInfo_v2;
0030 SvtxTrackInfo_v2 *info = (SvtxTrackInfo_v2 *) _clones->ConstructedAt(pos);
0031 info->CopyFrom(trackinfo);
0032 }
0033
0034 void add_trackinfo(int pos, SvtxTrackInfo *trackinfo) override
0035 {
0036 new ((*_clones)[pos]) SvtxTrackInfo_v2;
0037 SvtxTrackInfo_v2 *info = (SvtxTrackInfo_v2 *) _clones->ConstructedAt(pos);
0038 info->CopyFrom(trackinfo);
0039 }
0040
0041 protected:
0042 TClonesArray *_clones = nullptr;
0043
0044 private:
0045 ClassDefOverride(TrackInfoContainer_v2, 1);
0046 };
0047
0048 #endif