53 if (!
b->InheritsFrom(
"KVTelescope"))
return;
125 for (
int i = 0; i < 2; i++) {
126 for (
int j = 0; j < 2; j++) {
275 Warning(
"CountLayers",
"Too many layers in group");
286 Warning(
"CountLayers",
"Too many layers in group");
311 for (
UInt_t i = imin; i <= imax; i++) {
354 for (
UInt_t i = imin; i <= imax; i++) {
359 TIter it(tlist.get());
373 UInt_t rank = max - ndl + lay;
374 TIter next(tlist.get());
383 Warning(
"GetDetectorsInLayer",
"pb d index pour GetDetector");
406 if (list->FindObject(det)) {
441 for (
UInt_t lay = first_layer; lay <= last_layer; lay++) {
444 TIter next(dets.get());
456 for (
UInt_t lay = last_layer; lay >= first_layer; lay--) {
459 TIter next(dets.get());
490 ((
KVGroup*)
this)->CountLayers();
511 ((
KVGroup*)
this)->CountLayers();
ClassImp(KVPartitionList) void KVPartitionList
Initialisation.
Group in axially-symmetric array (obsolete)
TList * GetDetectorsInLayer(UInt_t lay)
virtual ~KVASGroup()
Destructor.
UInt_t GetLayerNearestTarget() const
UInt_t fLayNumMin
minimum layer number (nearest to target)
void SetDimensions()
Set dimensions of group according to dimensions of all its telescopes.
UInt_t fNumberOfLayers
number of different layers in group
TList * GetTelescopesWithAngles(Float_t theta, Float_t phi) const
UInt_t GetLayerFurthestTarget() const
UInt_t fLayNumMax
maximum layer number (furthest from target)
KVNameValueList * DetectParticle(KVNucleus *part)
const KVSeqCollection * GetTelescopes() const
UInt_t GetDetectorLayer(KVDetector *det)
Find the "detector layer" to which this detector belongs.
UInt_t GetNumberOfDetectorLayers()
TList * GetAlignedDetectors(KVDetector *, UChar_t dir=kBackwards)
Bool_t Contains(KVBase *name) const
Returns true if telescope belongs to this group.
void init()
Default initialisation.
TList * GetTelescopesInLayer(UInt_t nlayer)
Base class for KaliVeda framework.
Base class for detector geometry description, interface to energy-loss calculations.
KVGeoStrucElement * GetParentStructure(const Char_t *type, const Char_t *name="") const
void SortStructures(Bool_t order=kSortAscending)
const KVSeqCollection * GetDetectors() const
virtual void Add(KVBase *)
KVGeoStrucElement * GetParentStructure(const Char_t *type, const Char_t *name="") const
Group of detectors which can be treated independently of all others in array.
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
Description of properties and kinematics of atomic nuclei.
Double_t GetTheta() const
Double_t GetEnergy() const
Base class used for handling geometry in a multidetector array.
Bool_t IsInPhiRange(const Double_t phi)
virtual void SetAzimuthalMinMax(Double_t min, Double_t max)
Set min and max azimuthal angles and calculate (mean) phi.
Double_t GetPhiMax() const
Double_t GetPhiMin() const
Double_t GetThetaMin() const
Double_t GetAzimuthalWidth(Double_t phmin=-1., Double_t phimax=-1.) const
Bool_t IsInPolarRange(const Double_t theta)
kTRUE if given angle theta is within the polar range of this solid angle element
virtual void SetPolarMinMax(Double_t min, Double_t max)
Set min and max polar angles and calculate (mean) theta.
Bool_t IsOverlappingWith(KVPosition *pos)
kTRUE if there is at least partial overlap between two solid angle elements
Double_t GetThetaMax() const
virtual Int_t GetSize() const
Associates two detectors placed one behind the other.
KVDetector * GetDetector(Int_t n) const
virtual void DetectParticle(KVNucleus *kvp, KVNameValueList *nvl=0)
virtual void Add(TObject *obj)
virtual void Sort(Bool_t order=kSortAscending)
virtual void Warning(const char *method, const char *msgfmt,...) const
virtual TObject * FindObject(const char *name) const
Double_t Min(Double_t a, Double_t b)
Double_t Max(Double_t a, Double_t b)