Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:18:16

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