PandaRoot
PndDrcTrackInfo.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 // -----------------------------------------
14 // PndDrcLutInfo.h
15 //
16 // Created on: 18.10.2013
17 // Author: R.Dzhygadlo at gsi.de
18 // -----------------------------------------
19 
20 #ifndef PNDDRCTRACKINFO_H
21 #define PNDDRCTRACKINFO_H
22 
23 #include "PndDrcPhotonInfo.h"
24 
25 #include "TObject.h"
26 #include "TClonesArray.h"
27 #include "TVector3.h"
28 #include <vector>
29 
30 class PndDrcTrackInfo : public TObject {
31 
32  public:
33  // Default constructor
35 
36  // Default destructor
38 
39  // Copy constructor
40  // PndDrcTrackInfo (const PndDrcTrackInfo& val): TObject(val) { *this = val; } // Most probably not needed
41 
42  // Mutators
43  void SetMcPdg(Int_t val) { fMcPdg = val; }
44  void SetMcMomentum(TVector3 val) { fMcMomentum = val; }
45  void SetMcMomentumInBar(TVector3 val) { fMcMomentumInBar = val; }
46  void SetMcPositionInBar(TVector3 val) { fMcPositionInBar = val; }
47  void SetMcCherenkov(Double_t val) { fMcCherenkov = val; }
48  void SetMcTimeInBar(Double_t val) { fMcTimeInBar = val; }
49 
50  void SetPdg(Int_t val) { fPdg = val; }
51  void SetMomentum(TVector3 val) { fMomentum = val; }
52  void SetCherenkov(Double_t val) { fCherenkov = val; }
53 
54  void AddPhoton(PndDrcPhotonInfo photon);
55 
56  // Accessors
57  Int_t GetMcPdg() { return fMcPdg; }
58  TVector3 GetMcMomentum() { return fMcMomentum; }
59  TVector3 GetMcMomentumInBar() { return fMcMomentumInBar; }
60  TVector3 GetMcPositionInBar() { return fMcPositionInBar; }
61  Double_t GetMcCherenkov() { return fMcCherenkov; }
62  Double_t GetMcTimeInBar() { return fMcTimeInBar; }
63 
64  Int_t GetPdg() { return fPdg; }
65  TVector3 GetMomentum() { return fMomentum; }
66  Double_t GetCherenkov() { return fCherenkov; }
67 
68  Int_t GetPhotonSize() { return fPhotonSize; }
69  PndDrcPhotonInfo GetPhoton(Int_t id) { return fPhotonArray[id]; }
70 
71  protected:
72  std::vector<PndDrcPhotonInfo> fPhotonArray;
73  Int_t fPhotonSize;
74 
75  Int_t fMcPdg;
76  TVector3 fMcMomentum;
77  TVector3 fMcMomentumInBar;
78  TVector3 fMcPositionInBar;
79  Double_t fMcCherenkov;
80  Double_t fMcTimeInBar;
81 
82  Int_t fPdg;
83  TVector3 fMomentum;
84  Double_t fCherenkov;
85 
86  ClassDef(PndDrcTrackInfo, 1)
87 };
88 
89 #endif
void SetMomentum(TVector3 val)
void SetMcCherenkov(Double_t val)
TVector3 fMcPositionInBar
void SetPdg(Int_t val)
Double_t GetMcCherenkov()
PndDrcPhotonInfo GetPhoton(Int_t id)
void SetMcMomentum(TVector3 val)
Double_t fMcCherenkov
TVector3 GetMcMomentum()
Double_t fMcTimeInBar
Double_t GetMcTimeInBar()
TVector3 GetMcPositionInBar()
void AddPhoton(PndDrcPhotonInfo photon)
TVector3 GetMcMomentumInBar()
TVector3 fMcMomentum
void SetMcPositionInBar(TVector3 val)
TVector3 fMcMomentumInBar
std::vector< PndDrcPhotonInfo > fPhotonArray
void SetCherenkov(Double_t val)
void SetMcTimeInBar(Double_t val)
void SetMcMomentumInBar(TVector3 val)
Double_t GetCherenkov()
void SetMcPdg(Int_t val)
TVector3 GetMomentum()