PandaRoot
PndDrcLutNode.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 // PndDrcLutNode.h
15 //
16 // Created on: 09.07.2013
17 // Author: R.Dzhygadlo at gsi.de
18 // -----------------------------------------
19 // Container for look-up table
20 
21 #ifndef PNDDRCLUTNODE_H
22 #define PNDDRCLUTNODE_H
23 
24 #include "TObject.h"
25 #include "TClonesArray.h"
26 #include "TVector3.h"
27 #include <vector>
28 #include <iostream>
29 
30 class PndDrcLutNode : public TObject {
31 
32  public:
33  // Default constructor
34  PndDrcLutNode();
35 
36  // Standard constructors
37  PndDrcLutNode(Int_t detectorId);
38 
39  // Copy constructor
41  : TObject(node), fDetectorId(node.fDetectorId), fSize(node.fSize), fNodePos(node.fNodePos), fPosArray(node.fPosArray), fNodeArray(node.fNodeArray),
43 
44  // Modifiers
45  void AddEntry(Int_t nodeId, TVector3 dir, Double_t path, Int_t pathid, Double_t time, TVector3 pos);
46  void SetPos(TVector3 pos) { fNodePos = pos; }
47 
48  // Accessors
49  Int_t Entries() { return fSize; }
50  Double_t GetDetectorId() { return fDetectorId; }
51 
52  TVector3 GetEntry(Int_t entry) { return fNodeArray[entry]; }
53  Int_t GetPathId(Int_t entry) { return fPathIdArray[entry]; }
54  Double_t GetPath(Int_t entry) { return fPathArray[entry]; }
55  Double_t GetTime(Int_t entry) { return fTimeArray[entry]; }
56  TVector3 GetPos() { return fNodePos; }
57  TVector3 GetHitPos(Int_t entry) { return fPosArray[entry]; }
58 
59  protected:
60  Int_t fDetectorId;
61  Int_t fSize;
62  TVector3 fNodePos;
63 
64  std::vector<TVector3> fPosArray;
65  std::vector<TVector3> fNodeArray;
66  std::vector<Int_t> fPathIdArray;
67  std::vector<Double_t> fPathArray;
68  std::vector<Double_t> fTimeArray;
69 
70  ClassDef(PndDrcLutNode, 3)
71 };
72 
73 #endif // PNDDRCLUTNODE_H
Int_t GetPathId(Int_t entry)
Definition: PndDrcLutNode.h:53
void SetPos(TVector3 pos)
Definition: PndDrcLutNode.h:46
std::vector< TVector3 > fPosArray
Definition: PndDrcLutNode.h:64
PndDrcLutNode(PndDrcLutNode &node)
Definition: PndDrcLutNode.h:40
Double_t GetDetectorId()
Definition: PndDrcLutNode.h:50
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:57
TVector3 fNodePos
Definition: PndDrcLutNode.h:62
Double_t GetPath(Int_t entry)
Definition: PndDrcLutNode.h:54
std::vector< Int_t > fPathIdArray
Definition: PndDrcLutNode.h:66
std::vector< TVector3 > fNodeArray
Definition: PndDrcLutNode.h:65
TVector3 GetEntry(Int_t entry)
Definition: PndDrcLutNode.h:52
Double_t GetTime(Int_t entry)
Definition: PndDrcLutNode.h:55
Int_t Entries()
Definition: PndDrcLutNode.h:49
TVector3 GetPos()
Definition: PndDrcLutNode.h:56
std::vector< Double_t > fTimeArray
Definition: PndDrcLutNode.h:68
std::vector< Double_t > fPathArray
Definition: PndDrcLutNode.h:67