CbmRoot
CbmMatch.h
Go to the documentation of this file.
1 
9 #ifndef CBMMATCH_H_
10 #define CBMMATCH_H_
11 
12 #include <Rtypes.h> // for THashConsistencyHolder, ClassDef
13 #include <RtypesCore.h> // for Int_t, Double_t
14 #include <TObject.h> // for TObject
15 
16 #include <memory> // for unique_ptr
17 #include <string> // for string
18 #include <vector> // for vector
19 
20 #include "CbmLink.h" // for CbmLink
21 
22 class CbmMatch : public TObject {
23 public:
27  CbmMatch();
28 
32  virtual ~CbmMatch();
33 
34  /* Accessors */
35  const CbmLink& GetLink(Int_t i) const { return fLinks[i]; }
36  const std::vector<CbmLink>& GetLinks() const { return fLinks; }
37  const CbmLink& GetMatchedLink() const { return fLinks[fMatchedIndex]; }
38  Int_t GetNofLinks() const { return fLinks.size(); }
39  Double_t GetTotalWeight() const { return fTotalWeight; }
40 
41  /* Modifiers */
42  void AddLinks(const CbmMatch& match);
43  void AddLink(const CbmLink& newLink);
44  void AddLink(Double_t weight, Int_t index, Int_t entry = -1, Int_t file = -1);
45  void ClearLinks();
46 
51  virtual std::string ToString() const;
52 
53 protected:
54  std::vector<CbmLink> fLinks; // List of links to MC
55  Double_t fTotalWeight; // Sum of all reference weights
56  Int_t fMatchedIndex; // Index of the matched reference in fReferences array
57 
59 };
60 
61 typedef std::unique_ptr<CbmMatch> up_CbmMatch;
62 
63 #endif /* CBMMATCH_H_ */
CbmMatch::GetMatchedLink
const CbmLink & GetMatchedLink() const
Definition: CbmMatch.h:37
CbmMatch
Definition: CbmMatch.h:22
CbmMatch::~CbmMatch
virtual ~CbmMatch()
Destructor.
Definition: CbmMatch.cxx:19
CbmMatch::GetLink
const CbmLink & GetLink(Int_t i) const
Definition: CbmMatch.h:35
CbmMatch::GetNofLinks
Int_t GetNofLinks() const
Definition: CbmMatch.h:38
CbmMatch::fTotalWeight
Double_t fTotalWeight
Definition: CbmMatch.h:55
CbmMatch::ClassDef
ClassDef(CbmMatch, 1)
i
int i
Definition: L1/vectors/P4_F32vec4.h:25
CbmMatch::GetTotalWeight
Double_t GetTotalWeight() const
Definition: CbmMatch.h:39
CbmMatch::fMatchedIndex
Int_t fMatchedIndex
Definition: CbmMatch.h:56
CbmMatch::AddLink
void AddLink(const CbmLink &newLink)
Definition: CbmMatch.cxx:42
up_CbmMatch
std::unique_ptr< CbmMatch > up_CbmMatch
Definition: CbmMatch.h:61
CbmMatch::AddLinks
void AddLinks(const CbmMatch &match)
Definition: CbmMatch.cxx:35
CbmMatch::CbmMatch
CbmMatch()
Default constructor.
Definition: CbmMatch.cxx:17
CbmMatch::GetLinks
const std::vector< CbmLink > & GetLinks() const
Definition: CbmMatch.h:36
CbmMatch::ClearLinks
void ClearLinks()
Definition: CbmMatch.cxx:74
CbmMatch::fLinks
std::vector< CbmLink > fLinks
Definition: CbmMatch.h:54
CbmMatch::ToString
virtual std::string ToString() const
Return string representation of the object.
Definition: CbmMatch.cxx:21