KaliVeda
Toolkit for HIC analysis
KVGeoDetectorNode.h
1 
4 #ifndef __KVDETECTORNODE_H
5 #define __KVDETECTORNODE_H
6 
7 #include "KVBase.h"
8 #include "KVSeqCollection.h"
9 
10 class KVDetector;
11 class KVGeoDNTrajectory;
12 
50 class KVGeoDetectorNode : public KVBase {
60 
61  void init();
62 
65 
66 public:
68  KVGeoDetectorNode(const Char_t* name);
69  virtual ~KVGeoDetectorNode();
70 
71  void SetDetector(KVDetector*);
72  KVDetector* GetDetector() const;
73  const Char_t* GetName() const;
74 
75  void AddInFront(KVDetector*);
76  void AddBehind(KVDetector*);
80  {
81  return fInFront;
82  }
84  {
85  return fBehind;
86  }
88  {
89  return fTraj;
90  }
93  Int_t GetNDetsInFront() const;
94  Int_t GetNDetsBehind() const;
95  Int_t GetNTraj() const;
96  Int_t GetNTrajForwards() const;
97  Int_t GetNTrajBackwards() const;
98 
101 
102  void RehashLists();
103 
104  KVGeoDNTrajectory* FindTrajectory(const char* title) const;
105  KVGeoDNTrajectory* FindTrajectory(UInt_t number) const;
106 
107  const Char_t* GetFullPathToNode() const
108  {
111  return GetTitle();
112  }
113 
114  void ls(Option_t* option = "") const;
115 
116  ClassDef(KVGeoDetectorNode, 2) //Information on relative positions of detectors & particle trajectories
117 };
118 
119 #endif
int Int_t
unsigned int UInt_t
bool Bool_t
char Char_t
const char Option_t
#define ClassDef(name, id)
Base class for KaliVeda framework.
Definition: KVBase.h:142
Base class for detector geometry description.
Definition: KVDetector.h:160
Path taken by particles through multidetector geometry.
Information on relative positions of detectors & particle trajectories.
Bool_t IsInFrontOf(KVDetector *)
return true if this node is directly in front of the detector
void CalculateForwardsTrajectories()
Fill list with all trajectories going forwards from this node.
void BuildTrajectoriesForwards(TSeqCollection *)
void AddTrajectory(KVGeoDNTrajectory *)
void AddInFront(KVDetector *)
KVGeoDetectorNode()
Default constructor.
KVSeqCollection * fTrajB
list of trajectories passing through this node going backwards
const Char_t * GetName() const
Name of node is same as name of associated detector.
const Char_t * GetFullPathToNode() const
KVGeoDNTrajectory * FindTrajectory(const char *title) const
KVSeqCollection * GetTrajectories() const
KVSeqCollection * GetForwardTrajectories() const
KVDetector * fDetector
associated detector
KVDetector * GetDetector() const
Int_t fNTraj
number of trajectories passing through this node
Int_t fNTrajForwards
number of trajectories going forwards from this node
void ls(Option_t *option="") const
Int_t GetNTrajBackwards() const
Int_t fNTrajBackwards
number of trajectories going backwards from this node
KVSeqCollection * fBehind
list of detectors behind
Int_t GetNTraj() const
Returns number of trajectories passing through this node.
KVSeqCollection * GetBackwardTrajectories() const
Int_t GetNDetsBehind() const
Returns number of detectors directly behind this one.
KVSeqCollection * GetDetectorsBehind() const
Int_t GetNDetsInFront() const
Returns number of detectors directly in front of this one.
KVSeqCollection * GetDetectorsInFront() const
KVSeqCollection * fInFront
list of detectors in front
virtual ~KVGeoDetectorNode()
Destructor.
Int_t GetNTrajForwards() const
void SetDetector(KVDetector *)
void AddBehind(KVDetector *)
KVSeqCollection * fTrajF
list of trajectories passing through this node going forwards
Bool_t IsBehind(KVDetector *)
return true if this node is directly behind the detector
void CalculateBackwardsTrajectories()
Fill list with all trajectories going backwards from this node.
KVSeqCollection * fTraj
list of trajectories passing through this node
KaliVeda extensions to ROOT collection classes.
const char * GetTitle() const override