Back to home page

sPhenix code displayed by LXR

 
 

    


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