KaliVeda  1.12/06
Heavy-Ion Analysis Toolkit
KVGeoDetectorNode.h
Go to the documentation of this file.
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 
49 class KVGeoDetectorNode : public KVBase {
59 
60  void init();
61 
64 
65 public:
67  KVGeoDetectorNode(const Char_t* name);
68  virtual ~KVGeoDetectorNode();
69 
70  void SetDetector(KVDetector*);
71  KVDetector* GetDetector() const;
72  const Char_t* GetName() const;
73 
74  void AddInFront(KVDetector*);
75  void AddBehind(KVDetector*);
79  {
80  return fInFront;
81  }
83  {
84  return fBehind;
85  }
87  {
88  return fTraj;
89  }
92  Int_t GetNDetsInFront() const;
93  Int_t GetNDetsBehind() const;
94  Int_t GetNTraj() const;
95  Int_t GetNTrajForwards() const;
96  Int_t GetNTrajBackwards() const;
97 
100 
101  void RehashLists();
102 
103  KVGeoDNTrajectory* FindTrajectory(const char* title) const;
104  KVGeoDNTrajectory* FindTrajectory(UInt_t number) const;
105 
106  const Char_t* GetFullPathToNode() const
107  {
110  return GetTitle();
111  }
112 
113  void ls(Option_t* option = "") const;
114 
115  ClassDef(KVGeoDetectorNode, 2) //Information on relative positions of detectors & particle trajectories
116 };
117 
118 #endif
int Int_t
unsigned int UInt_t
char Char_t
bool Bool_t
const char Option_t
#define ClassDef(name, id)
Base class for KaliVeda framework.
Definition: KVBase.h:135
Base class for detector geometry description, interface to energy-loss calculations.
Definition: KVDetector.h:121
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.
virtual const char * GetTitle() const