/* * CbmMCEntry.h * * Created on: Dec 22, 2009 * Author: stockman */ #ifndef CBMMCENTRY_H_ #define CBMMCENTRY_H_ //#include "CbmMCList.h" //#include "CbmDetectorList.h" //#include "FairLink.h" #include "FairMultiLinkedData.h" //#include #include class FairLink; class CbmMCEntry : public FairMultiLinkedData { public: CbmMCEntry(); //CbmMCEntry(DataType type, int pos); CbmMCEntry(std::set links, Int_t source = -1, Int_t pos = -1) :FairMultiLinkedData(links), fSource(source), fPos(pos){} CbmMCEntry(FairMultiLinkedData links, Int_t source = -1, Int_t pos = -1) :FairMultiLinkedData(links), fSource(source), fPos(pos){} // CbmMCEntry(std::vector > links, Int_t source = -1, Int_t pos = -1) // :FairMultiLinkedData(links), fSource(source), fPos(pos){} void SetSource(Int_t source){fSource = source;} void SetPos(Int_t pos){fPos = pos;} Int_t GetSource() const {return fSource;} Int_t GetPos() const {return fPos;} virtual ~CbmMCEntry(); virtual void print(std::ostream& out){ out << *this; } friend std::ostream& operator<< (std::ostream& out, const CbmMCEntry& link){ //out << "Source: " << link.GetSource() << " Position: " << link.GetPos() << std::endl; #ifdef HAVE_LOWERCASE_PRINT ((FairMultiLinkedData)link).print(out); #else ((FairMultiLinkedData)link).Print(out); #endif return out; } private: Int_t fSource; Int_t fPos; ClassDef(CbmMCEntry, 1); }; #endif