//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Data container for a track matching attempt // // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Felix Boehmer TUM (original author) // // //----------------------------------------------------------- #ifndef MATCHINGTUPLE_HH #define MATCHINGTUPLE_HH #include "TString.h" #include "TObject.h" #include #include #include #include "MatchingCriterion.h" class MatchingTuple : public TObject { public: MatchingTuple(); MatchingTuple(const std::map& idMap); virtual ~MatchingTuple() {;} virtual const MatchingCriterion& getCriterion(const char* critName) const; virtual const MatchingCriterion& getCriterion(const TString& critName) const; virtual unsigned int getIdFromBranch(const char* brName) const; virtual unsigned int getIdFromBranch(const TString& brName) const; virtual int getRefID() const {return fRefID;} virtual std::vector getListOfCritNames() const; virtual std::vector getListOfBranchNames() const; virtual bool isMatched() const {return fMatched;} virtual bool hasBranch(const TString& br) const; //check if br is associated to this tuple virtual bool hasBranch(const char* br) const; int addCriterion(const MatchingCriterion& res); //return 0: ok int addIdAndBranch(unsigned int id, const TString& br); //return 0: ok void setMatched(bool mat = true) {fMatched=mat;} void setRefID(int ri) {fRefID = ri;} void print() const; protected: std::map fCritMap; std::map fIdMap; bool fMatched; int fRefID; //ID in associated trackArray public: ClassDef(MatchingTuple,2) }; #endif