KaliVeda
Toolkit for HIC analysis
KVRing.h
1 #ifndef KVRING_H
2 #define KVRING_H
3 
4 #define KVR_RCPRC_CNXN 1
5 #define KVR_NORCPRC_CNXN 0
6 
7 #include "KVPosition.h"
8 #include "KVGeoStrucElement.h"
9 #include "KVList.h"
10 #include "TGeoVolume.h"
11 class KVTelescope;
12 
20 class KVRing : public KVGeoStrucElement, public KVPosition {
21 
22  void init();
23 
24 public:
25 
26  KVRing();
27  virtual ~ KVRing();
28 
29  void Add(KVBase*);
30 
32  {
33  return GetStructures();
34  }
35  KVTelescope* GetTelescope(Float_t phi) const;
36  KVTelescope* GetTelescope(const Char_t* name) const;
37 
39  {
40  return kTRUE;
41  };
42  Int_t Compare(const TObject* obj) const;
43 
44  Double_t GetSolidAngle(void) const;
45  virtual TGeoVolume* GetGeoVolume();
46  virtual void AddToGeometry();
47 
48  ClassDef(KVRing, 3)//Class representing one ring of an axially symmetric multidetector array
49 };
50 
51 #endif
int Int_t
bool Bool_t
char Char_t
float Float_t
double Double_t
constexpr Bool_t kTRUE
#define ClassDef(name, id)
Base class for KaliVeda framework.
Definition: KVBase.h:142
Base class describing elements of array geometry.
const KVSeqCollection * GetStructures() const
Base class used for handling geometry in a multidetector array.
Definition: KVPosition.h:91
Ring in INDRA array (obsolete)
Definition: KVRing.h:20
virtual TGeoVolume * GetGeoVolume()
Create and return TGeoVolume representing detectors in this ring.
Definition: KVRing.cpp:139
const KVSeqCollection * GetTelescopes() const
Definition: KVRing.h:31
Bool_t IsSortable() const
Definition: KVRing.h:38
KVTelescope * GetTelescope(Float_t phi) const
give pointer to telescope in ring which covers azimuthal angle phi
Definition: KVRing.cpp:73
void init()
Definition: KVRing.cpp:41
void Add(KVBase *)
Only KVTelescope-derived structures can be placed in a KVRing.
Definition: KVRing.cpp:59
virtual void AddToGeometry()
Construct and position a TGeoVolume shape to represent this ring in the current geometry.
Definition: KVRing.cpp:184
Double_t GetSolidAngle(void) const
Definition: KVRing.cpp:118
KVRing()
Definition: KVRing.cpp:32
virtual ~ KVRing()
Int_t Compare(const TObject *obj) const
rings are sorted according to lower edge polar angle
Definition: KVRing.cpp:101
KaliVeda extensions to ROOT collection classes.
Associates two detectors placed one behind the other.
Definition: KVTelescope.h:36