35 fReconstructedNuclei = 0;
38 fReconTraj.SetOwner();
48 if (fReconstructedNuclei && fReconstructedNuclei->TestBit(kNotDeleted)) {
49 fReconstructedNuclei->Clear();
50 delete fReconstructedNuclei;
51 fReconstructedNuclei = 0;
53 fReconstructedNuclei = 0;
54 fTrajectories.Clear();
71 TIter next(GetDetectors());
74 UInt_t e =
d->GetAlignedDetectors()->GetEntries();
96 TIter next(GetDetectors());
100 if (lay == (
UInt_t)
d->GetAlignedDetectors()->GetEntries()) dets->
Add(
d);
121 if (fReconstructedNuclei && fReconstructedNuclei->GetSize()) {
122 fReconstructedNuclei->Clear();
136 if (!fReconstructedNuclei) {
138 fReconstructedNuclei->SetCleanup();
140 fReconstructedNuclei->Add(kvd);
154 if (fReconstructedNuclei) {
155 fReconstructedNuclei->Remove(kvd);
156 if (fReconstructedNuclei->GetSize() == 0) {
157 delete fReconstructedNuclei;
158 fReconstructedNuclei = 0;
162 Warning(
"RemoveHit",
"No reconstructed nuclei in this group");
196 "No unique solution. There are %d detectors in front of %s.",
203 if (dir == kForwards) {
245 TIter next_traj(GetTrajectories());
264 fReconTrajMap.Clear();
265 TIter nxtRT(GetReconTrajectories());
270 unique_trajectories.
Add(
n);
283 TIter nxtDel(&toRemove);
285 fReconTraj.Remove(rnt);
289 return fReconTraj.GetEntries();
301 TIter it(GetDetectors());
ClassImp(KVPartitionList) void KVPartitionList
Initialisation.
const Bool_t kIterBackward
#define R__FOR_EACH(type, proc)
Base class for detector geometry description.
KVGeoDetectorNode * GetNode()
virtual void Print(Option_t *option="") const
Path taken by particles through multidetector geometry.
KVGeoDetectorNode * GetNextNode() const
static KVGeoDNTrajectory * Factory(const char *plugin, const KVGeoDNTrajectory *, const KVGeoDetectorNode *)
Instantiate & return object of class corresponding to plugin.
void IterateFrom(const KVGeoDetectorNode *node0=nullptr) const
Information on relative positions of detectors & particle trajectories.
KVSeqCollection * GetDetectorsInFront() const
Group of detectors which can be treated independently of all others in array.
void Reset(Option_t *opt="")
virtual TList * GetAlignedDetectors(KVDetector *, UChar_t dir=kBackwards)
virtual TList * GetDetectorsInLayer(UInt_t lay)
virtual UInt_t GetNumberOfDetectorLayers()
void AddHit(KVNucleus *kvd)
void RemoveHit(KVNucleus *kvd)
void PrintData() const
list detectors of group with any data they contain
Int_t CalculateReconstructionTrajectories()
Extended TList class which owns its objects by default.
Description of properties and kinematics of atomic nuclei.
KaliVeda extensions to ROOT collection classes.
virtual void SetOwner(Bool_t enable=kTRUE)
virtual TObject * First() const
virtual TObject * FindObject(const char *name) const
Optimised list in which named objects can only be placed once.
Bool_t ObjectAdded() const
virtual void Add(TObject *obj)
virtual void ls(Option_t *option="") const
virtual Int_t GetEntries() const
virtual void Add(TObject *obj)
virtual void Delete(Option_t *option="")
virtual const char * GetName() const
virtual const char * GetTitle() const