5 #ifndef _EVTLIBRECORDLIST_H
6 #define _EVTLIBRECORDLIST_H
29 const std::vector<EvtLibParticle>& _ps);
36 std::vector<EvtLibParticle>
parts;
80 std::vector<EvtLibRecord>
fRecs;
98 mutable std::vector<std::pair<float, int>>
fEnergies;
const int kEvtLibMaxParts
Maximum number of particles supported in a single library event record.
EvtLibRecord GetRecord(int i) const
std::vector< EvtLibParticle > parts
RecordLoader(TTree *tree)
float px[kEvtLibMaxParts]
virtual ~SimpleRecordList()
float Es[kEvtLibMaxParts]
virtual ~OnDemandRecordList()
const EvtLibRecord * GetRecord(float E) const override
virtual const EvtLibRecord * GetRecord(float E) const =0
OnDemandRecordList(TTree *tree, const std::string &prettyName)
float py[kEvtLibMaxParts]
std::vector< EvtLibRecord > fRecs
virtual ~IEvtLibRecordList()
bool operator<(const EvtLibRecord &rhs) const
Order by energy - this allows OnDemandRecordList to work efficiently.
const EvtLibRecord * GetRecord(float E) const override
float pz[kEvtLibMaxParts]
SimpleRecordList(TTree *tree, const std::string &prettyName)
int pdgs[kEvtLibMaxParts]
std::vector< std::pair< float, int > > fEnergies