PandaRoot
PndDrcLutNode.h
Go to the documentation of this file.
1 // -----------------------------------------
2 // PndDrcLutNode.h
3 //
4 // Created on: 09.07.2013
5 // Author: R.Dzhygadlo at gsi.de
6 // -----------------------------------------
7 // Container for look-up table
8 
9 #ifndef PNDDRCLUTNODE_H
10 #define PNDDRCLUTNODE_H
11 
12 #include "TObject.h"
13 #include "TClonesArray.h"
14 #include "TVector3.h"
15 #include <vector>
16 #include <iostream>
17 
18 class PndDrcLutNode : public TObject {
19 
20  public:
21  // Default constructor
22  PndDrcLutNode();
23 
24  // Standard constructors
25  PndDrcLutNode(Int_t detectorId);
26 
27  // Copy constructor
29  : TObject(node), fDetectorId(node.fDetectorId), fSize(node.fSize), fNodePos(node.fNodePos), fPosArray(node.fPosArray), fNodeArray(node.fNodeArray),
31 
32  // Modifiers
33  void AddEntry(Int_t nodeId, TVector3 dir, Double_t path, Int_t pathid, Double_t time, TVector3 pos);
34  void SetPos(TVector3 pos) { fNodePos = pos; }
35 
36  // Accessors
37  Int_t Entries() { return fSize; }
38  Double_t GetDetectorId() { return fDetectorId; }
39 
40  TVector3 GetEntry(Int_t entry) { return fNodeArray[entry]; }
41  Int_t GetPathId(Int_t entry) { return fPathIdArray[entry]; }
42  Double_t GetPath(Int_t entry) { return fPathArray[entry]; }
43  Double_t GetTime(Int_t entry) { return fTimeArray[entry]; }
44  TVector3 GetPos() { return fNodePos; }
45  TVector3 GetHitPos(Int_t entry) { return fPosArray[entry]; }
46 
47  protected:
48  Int_t fDetectorId;
49  Int_t fSize;
50  TVector3 fNodePos;
51 
52  std::vector<TVector3> fPosArray;
53  std::vector<TVector3> fNodeArray;
54  std::vector<Int_t> fPathIdArray;
55  std::vector<Double_t> fPathArray;
56  std::vector<Double_t> fTimeArray;
57 
58  ClassDef(PndDrcLutNode, 3)
59 };
60 
61 #endif // PNDDRCLUTNODE_H
Int_t GetPathId(Int_t entry)
Definition: PndDrcLutNode.h:41
void SetPos(TVector3 pos)
Definition: PndDrcLutNode.h:34
std::vector< TVector3 > fPosArray
Definition: PndDrcLutNode.h:52
PndDrcLutNode(PndDrcLutNode &node)
Definition: PndDrcLutNode.h:28
Double_t GetDetectorId()
Definition: PndDrcLutNode.h:38
void AddEntry(Int_t nodeId, TVector3 dir, Double_t path, Int_t pathid, Double_t time, TVector3 pos)
TVector3 GetHitPos(Int_t entry)
Definition: PndDrcLutNode.h:45
TVector3 fNodePos
Definition: PndDrcLutNode.h:50
Double_t GetPath(Int_t entry)
Definition: PndDrcLutNode.h:42
std::vector< Int_t > fPathIdArray
Definition: PndDrcLutNode.h:54
std::vector< TVector3 > fNodeArray
Definition: PndDrcLutNode.h:53
TVector3 GetEntry(Int_t entry)
Definition: PndDrcLutNode.h:40
Double_t GetTime(Int_t entry)
Definition: PndDrcLutNode.h:43
Int_t Entries()
Definition: PndDrcLutNode.h:37
TVector3 GetPos()
Definition: PndDrcLutNode.h:44
std::vector< Double_t > fTimeArray
Definition: PndDrcLutNode.h:56
std::vector< Double_t > fPathArray
Definition: PndDrcLutNode.h:55