7#include "KVNameValueList.h"
8#include "KVGeoStrucElement.h"
46 virtual ~ KVTelescope();
54 Error(
"GetDetector(UInt_t n)",
"%s n must be between 1 and %u",
#define ClassDef(name, id)
#define R__FOR_EACH(type, proc)
Base class for KaliVeda framework.
Base class for detector geometry description.
Base class describing elements of array geometry.
const KVSeqCollection * GetDetectors() const
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
Description of properties and kinematics of atomic nuclei.
Base class used for handling geometry in a multidetector array.
virtual void SetAzimuthalWidth(Double_t aw)
virtual void SetAzimuthalMinMax(Double_t min, Double_t max)
Set min and max azimuthal angles and calculate (mean) phi.
virtual void SetAzimuthalAngle(Double_t ph)
virtual void SetPolarAngle(Double_t th)
virtual void SetPolarWidth(Double_t pw)
virtual void SetPolarMinMax(Double_t min, Double_t max)
Set min and max polar angles and calculate (mean) theta.
KaliVeda extensions to ROOT collection classes.
virtual Int_t GetSize() const
virtual TObject * At(Int_t idx) const
Associates two detectors placed one behind the other.
virtual void SetPolarAngle(Double_t th)
Int_t fNdets
number of detectors in telescope
virtual void SetAzimuthalAngle(Double_t ph)
override KVPosition methods to apply to all detectors
virtual TGeoVolume * GetGeoVolume()
Create and return TGeoVolume representing detectors in this telescope.
Double_t GetTotalLengthInCM() const
void SetDepth(UInt_t ndet, Float_t depth)
set the depth of detector number ndet(=1,2,...) in mm.
KVDetector * GetDetector(Int_t n) const
virtual void SetPolarWidth(Double_t pw)
Int_t GetDetectorRank(KVDetector *kvd)
returns position (1=front, 2=next, etc.) detector in the telescope structure
Float_t * fDepth
[fNdets] depth of each element starting from nearest target
void ResetDetectors()
Reset Energy losses to be ready for the next event.
void Add(KVBase *element)
Double_t GetDepthInCM(Int_t ndet) const
Float_t GetDepth() const
get depth of entire telescope in mm (sum of depths of detectors)
virtual void AddToGeometry()
Construct and position a TGeoVolume shape to represent this telescope in the current geometry.
virtual void SetPolarMinMax(Double_t min, Double_t max)
virtual void SetAzimuthalWidth(Double_t aw)
virtual void DetectParticle(KVNucleus *kvp, KVNameValueList *nvl=0)
virtual void SetAzimuthalMinMax(Double_t min, Double_t max)
const char * GetName() const override
virtual void Error(const char *method, const char *msgfmt,...) const
double min(double x, double y)
double max(double x, double y)