PandaRoot
PndPidBremCorrected4Mom.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 #ifndef PNDPIDBREMCORRECTED4MOM_H
14 #define PNDPIDBREMCORRECTED4MOM_H
15 // //
17 // PndPidBremCorrected4Mom //
18 // //
19 // Definition of the Panda pid candidate. //
20 // //
21 // Author: Klaus Goetzen, GSI, 12.06.08 //
22 // Copyright (C) 2008, GSI Darmstadt. //
23 // //
25 
26 #include <iostream>
27 #include <vector>
28 
29 #include <assert.h>
30 
31 #include "PndPidCandidate.h"
32 #include "TArrayI.h"
33 #include "TMatrixD.h"
34 #include "TVector3.h"
35 #include "TLorentzVector.h"
36 
37 class PndPidBremCorrected4Mom : public FairMultiLinkedData_Interface {
38 
39  public:
41  PndPidBremCorrected4Mom(TLorentzVector &p4);
42 
44 
45  TVector3 GetMomentum() const { return TVector3(fXmomentum, fYmomentum, fZmomentum); }
46  Double_t GetEnergy() const { return fEnergy; }
47  Int_t GetPidCandIdx() const { return fPidCandIdx; }
48  const std::vector<Int_t> &GetPhiBumpList() { return fPhiBumpList; }
49  const std::vector<Int_t> &GetSepBumpList() { return fSepBumpList; }
50 
51  void SetMomentum(TVector3 &mom)
52  {
53  fXmomentum = mom.X();
54  fYmomentum = mom.Y();
55  fZmomentum = mom.Z();
56  }
57  void SetEnergy(Double_t en) { fEnergy = (Float_t)en; }
58  void AddToPhiBumpList(Int_t idx) { fPhiBumpList.push_back(idx); }
59  void AddToSepBumpList(Int_t idx) { fSepBumpList.push_back(idx); }
60  void SetPidCandIdx(Int_t idx) { fPidCandIdx = idx; }
61 
62  protected:
63  Double_t fXmomentum; // The momentum in x
64  Double_t fYmomentum; // The momentum in y
65  Double_t fZmomentum; // The momentum in z
66  Double_t fEnergy;
67 
68  Int_t fPidCandIdx;
69  std::vector<Int_t> fPhiBumpList;
70  std::vector<Int_t> fSepBumpList;
71 
72  ClassDef(PndPidBremCorrected4Mom, 1)
73 };
74 
75 #endif
void SetMomentum(TVector3 &mom)
const std::vector< Int_t > & GetSepBumpList()
std::vector< Int_t > fPhiBumpList
std::vector< Int_t > fSepBumpList
const std::vector< Int_t > & GetPhiBumpList()