EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CbmMCEntry.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file CbmMCEntry.h
1 /*
2  * CbmMCEntry.h
3  *
4  * Created on: Dec 22, 2009
5  * Author: stockman
6  */
7 
8 #ifndef CBMMCENTRY_H_
9 #define CBMMCENTRY_H_
10 
11 //#include "CbmMCList.h"
12 //#include "CbmDetectorList.h"
13 //#include "FairLink.h"
14 #include "FairMultiLinkedData.h"
15 
16 //#include <utility>
17 #include <iostream>
18 
19 class FairLink;
20 
22 public:
23  CbmMCEntry();
24  //CbmMCEntry(DataType type, int pos);
25  CbmMCEntry(std::set<FairLink> links, Int_t source = -1, Int_t pos = -1)
26  :FairMultiLinkedData(links), fSource(source), fPos(pos){}
27  CbmMCEntry(FairMultiLinkedData links, Int_t source = -1, Int_t pos = -1)
28  :FairMultiLinkedData(links), fSource(source), fPos(pos){}
29 
30 // CbmMCEntry(std::vector<std::pair<int, int> > links, Int_t source = -1, Int_t pos = -1)
31 // :FairMultiLinkedData(links), fSource(source), fPos(pos){}
32 
33  void SetSource(Int_t source){fSource = source;}
34  void SetPos(Int_t pos){fPos = pos;}
35 
36  Int_t GetSource() const {return fSource;}
37  Int_t GetPos() const {return fPos;}
38 
39  virtual ~CbmMCEntry();
40 
41  virtual void Print(std::ostream& out){
42  out << *this;
43  }
44 
45  friend std::ostream& operator<< (std::ostream& out, const CbmMCEntry& link){
46  //out << "Source: " << link.GetSource() << " Position: " << link.GetPos() << std::endl;
47  ((FairMultiLinkedData)link).Print(out);
48  return out;
49  }
50 
51 
52 private:
53  Int_t fSource;
54  Int_t fPos;
55 
56  ClassDef(CbmMCEntry, 1);
57 };
58 
59 #endif