1 #ifndef KVRECONSTRUCTEDNUCLEUS_H
2 #define KVRECONSTRUCTEDNUCLEUS_H
5 #include "KVHashList.h"
7 #include "KVDetector.h"
8 #include "KVIDTelescope.h"
9 #include "KVIdentificationResult.h"
12 #include "KVReconNucTrajectory.h"
43 kIsIdentified =
BIT(18),
44 kIsCalibrated =
BIT(19),
58 void RebuildReconTraj();
95 return fReconTraj ? fReconTraj->
GetDetector(label) :
nullptr;
112 return fDetNames.
Data();
116 return fIDTelName.
Data();
127 return fReconTraj ? fReconTraj->
GetN() : 0;
272 fTargetEnergyLoss =
e;
277 return fTargetEnergyLoss;
348 for (
int i = 1; i <=
n; i++) {
350 if (!strcmp(
id->GetIDType(), idtype)) {
367 if (!idt)
return nullptr;
#define ClassDefOverride(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize id
virtual const Char_t * GetType() const
Base class for detector geometry description, interface to energy-loss calculations.
void AddUnidentifiedParticle(int modify_identified=-1) const
void AddIdentifiedParticle(int modify_unidentified=-1) const
const KVSeqCollection * GetIDTelescopes() const
KVGeoDetectorNode * GetNodeAt(Int_t i) const
KVDetector * GetDetector() const
Group of detectors which can be treated independently of all others in array.
KVSeqCollection * GetParticles()
Extended version of ROOT THashList.
Base class for all detectors or associations of detectors in array which can identify charged particl...
Full result of one attempted particle identification.
Int_t GetIntValue(const Char_t *name) const
void SetValue(const Char_t *name, value_type value)
Description of properties and kinematics of atomic nuclei.
Int_t GetZ() const
Return the number of proton / atomic number.
KVNameValueList * GetParameters() const
Path through detector array used to reconstruct detected particle.
KVDetector * GetDetector(const TString &label) const
Nuclei reconstructed from data measured by a detector array .
virtual void SetIDCode(UShort_t s)
void ls(Option_t *="") const override
KVDetector * GetDetector(const TString &label) const
void PrintStatusString() const
virtual Bool_t IsZMeasured() const
virtual void SetAMeasured(Bool_t yes=kTRUE)
const Char_t * GetIDtelNames() const
void SetReconstructionTrajectory(const KVReconNucTrajectory *t)
Method called in initial reconstruction of particle.
virtual Double_t GetTargetEnergyLoss() const
void CopyAndMoveReferences(const KVReconstructedNucleus *)
@ kStatusOKafterShare
of energy losses of other particles in the same group which have Status=0
@ kStatusStopFirstStage
(arbitrarily) between this and the other particle(s) with Status=2
@ kStatusPileupDE
telescope; a minimum Z could be estimated from the measured energy loss.
Bool_t InArray(const TString &) const
Returns kTRUE if particle was detected in array with given name.
virtual Int_t GetECode() const
Int_t GetNumberOfIdentificationResults() const
Bool_t IsCalibrated() const
KVIdentificationResult * GetIdentificationResult(Int_t i)
KVIdentificationResult * GetIdentificationResult(Int_t i) const
const KVReconNucTrajectory * GetReconstructionTrajectory() const
void SetIdentification(KVIdentificationResult *, KVIDTelescope *)
virtual ~KVReconstructedNucleus()
static UInt_t GetNUnidentifiedInGroup(KVGroup *grp)
KVReconstructedNucleus()
default ctor.
KVIdentificationResult * GetIdentificationResult(KVIDTelescope *idt) const
void Copy(TObject &) const override
Bool_t IsIdentified() const
void Clear(Option_t *option="") override
virtual Int_t GetIDCode() const
const KVSeqCollection * GetIDTelescopes() const
KVIdentificationResult * GetIdentificationResult(const Char_t *idtype)
KVDetector * GetStoppingDetector() const
virtual void SetTargetEnergyLoss(Double_t e)
void ModifyReconstructionTrajectory(const KVReconNucTrajectory *t)
virtual void GetAnglesFromReconstructionTrajectory(Option_t *opt="random")
static UInt_t GetNIdentifiedInGroup(KVGroup *grp)
void init()
default initialisation
TString GetArrayName() const
Returns name of array particle was detected in (if known)
void Print(Option_t *option="") const override
void SetRealZ(Float_t zz)
KVDetector * GetDetector(int i) const
virtual void SetZMeasured(Bool_t yes=kTRUE)
void ReplaceReconTraj(const TString &traj_name)
virtual Float_t GetPID() const
KVIdentificationResult * GetIdentificationResult(KVIDTelescope *idt)
KVIDTelescope * GetIdentifyingTelescope() const
KVGroup * GetGroup() const
KVIdentificationResult * GetIdentificationResult(const Char_t *idtype) const
void SetIdentifyingTelescope(KVIDTelescope *i)
virtual Bool_t IsAMeasured() const
virtual void SetECode(UChar_t s)
const Char_t * GetDetectorNames() const
KaliVeda extensions to ROOT collection classes.
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
TObject * ConstructedAt(Int_t idx)
const char * GetName() const override
Int_t GetEntries() const override
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
const char * Data() const