KaliVeda
Toolkit for HIC analysis
Loading...
Searching...
No Matches
KVINDRAReconNuc Class Reference

Detailed Description

Nuclei reconstructed from data measured in the INDRA array.

Most useful methods are already defined in parent classes KVReconstructedNucleus, KVNucleus and KVParticle. Here we add a few useful INDRA-specific methods :

GetRingNumber(), GetModuleNumber() GetTimeMarker() - returns time-marker of detector in which the particle stopped

StoppedInChIo(), StoppedInSi(), StoppedInCsI() - information on the detector in which the particle stopped Note1: to access the detector in question, use GetStoppingDetector() (see KVReconstructedNucleus) Note2: for a general test of the type of detector in which the particle stopped, you can do one of the following e.g. to test if it stopped in an ionisation chamber (assuming a particle pointer 'part'):

if( !strcmp(part->GetStoppingDetector()->GetType(), "CI") ) { ... } /test the type of the detector - see INDRA detector classes for the different types if( part->GetStoppingDetector()->InheritsFrom("KVChIo") ) { ... } /test the inheritance of the class of the stopping detector

GetChIo(), GetSi(), GetCsI()    -  return pointers to the detectors through which the particle passed
GetEnergyChIo(), GetEnergySi(), GetEnergyCsI()   -  return the calculated contribution of each detector to the
                                                                                  particle's energy

Identification/Calibration status and codes

Identified particles have IsIdentified()=kTRUE. Calibrated particles have IsCalibrated()=kTRUE.

The KVINDRACodes object fCodes is used to store information on the identification and calibration of the particle. You can access this object using GetCodes() and then use the methods of KVINDRACodes/KVINDRACodeMask to obtain the information.

For example, you can obtain the VEDA identification code of a particle 'part' using

   part.GetCodes().GetVedaIDCode()  [ = 0, 1, 2, etc.]

Information on whether the particle's mass was measured :

   part.IsAMeasured()  [ = kTRUE or kFALSE]

Information on whether the particle's charge was measured :

   part.IsZMeasured()  [ = kTRUE or kFALSE]

You can also access information on the status codes returned by the different identification telescopes used to identify the particle: see GetIDSubCode() and GetIDSubCodeString().

Masses of reconstructed nuclei

When the nucleus' A is not measured, we estimate it from the identified Z. By default the mass formula used is that of R.J. Charity (see KVNucleus::GetAFromZ). Note: for data previous to the 5th campaign converted to the KaliVeda format from old DSTs, we keep the masses from the Veda programme, corresponding to KVNucleus mass option kVedaMass. IN ALL CASES THE RETURNED VALUE OF GetA() IS POSITIVE

Definition at line 101 of file KVINDRAReconNuc.h.

#include <KVINDRAReconNuc.h>

Inheritance diagram for KVINDRAReconNuc:

Public Member Functions

 KVINDRAReconNuc ()
 default ctor
 
 KVINDRAReconNuc (const KVINDRAReconNuc &)
 copy ctor
 
virtual ~KVINDRAReconNuc ()
 dtor
 
Bool_t AreSiCsICoherent () const
 
virtual void Calibrate ()
 
virtual void CalibrateRings10To17 ()
 
virtual void CalibrateRings1To9 ()
 
virtual void Clear (Option_t *t="")
 reset nucleus' properties
 
virtual Bool_t CoherencyChIoCsI (KVIdentificationResult &theID)
 
virtual Bool_t CoherencyChIoSiCsI (KVIdentificationResult)
 
virtual Bool_t CoherencyEtalons (KVIdentificationResult &theID)
 Called by Identify() for particles stopping in etalon modules of Rings 10-17.
 
virtual Bool_t CoherencySiCsI (KVIdentificationResult &theID)
 
virtual void Copy (TObject &) const
 
KVChIoGetChIo ()
 
KVINDRACodesGetCodes () const
 
KVCsIGetCsI ()
 
Int_t GetECode () const
 
Float_t GetEnergyChIo ()
 
Float_t GetEnergyCsI ()
 
Float_t GetEnergySi ()
 
Float_t GetEnergySi75 ()
 
Float_t GetEnergySiLi ()
 
Int_t GetIDCode () const
 
Int_t GetIDSubCode (const Char_t *id_tel_type="") const
 
const Char_tGetIDSubCodeString (const Char_t *id_tel_type="") const
 
UInt_t GetModuleNumber (void) const
 
UInt_t GetRingNumber (void) const
 
KVSiliconGetSi ()
 
KVSi75GetSi75 ()
 
KVSiLiGetSiLi ()
 
KVINDRATelescopeGetTelescope () const
 
virtual void Identify ()
 
void init ()
 default initialisations
 
Bool_t IsChIoPileup () const
 
Bool_t IsSi75Pileup () const
 
Bool_t IsSiLiPileup () const
 
Bool_t IsSiPileup () const
 
void Print (Option_t *option="") const
 
void SetECode (UChar_t code_mask)
 
void SetEnergyChIo (Float_t val)
 
void SetEnergyCsI (Float_t val)
 
void SetEnergySi (Float_t val)
 
void SetEnergySi75 (Float_t val)
 
void SetEnergySiLi (Float_t val)
 
void SetIDCode (UShort_t code_mask)
 
Bool_t StoppedInChIo ()
 Returns kTRUE if particle stopped in ChIo detector.
 
Bool_t StoppedInCsI ()
 Returns kTRUE if particle stopped in CsI detector.
 
Bool_t StoppedInSi ()
 Returns kTRUE if particle stopped in Si detector.
 
Bool_t StoppedInSi75 ()
 Returns kTRUE if particle stopped in Si75 detector.
 
Bool_t StoppedInSiLi ()
 Returns kTRUE if particle stopped in Si detector.
 
Bool_t UseFullChIoEnergyForCalib () const
 
- Public Member Functions inherited from KVReconstructedNucleus
 KVReconstructedNucleus ()
 default ctor.
 
 KVReconstructedNucleus (const KVReconstructedNucleus &)
 copy ctor
 
virtual ~KVReconstructedNucleus ()
 
void AddDetector (KVDetector *)
 
void CopyAndMoveReferences (const KVReconstructedNucleus *)
 
virtual void GetAnglesFromReconstructionTrajectory (Option_t *opt="random")
 
TString GetArrayName () const
 Returns name of array particle was detected in (if known)
 
KVDetectorGetDetector (const TString &label) const
 
KVDetectorGetDetector (int i) const
 
const KVSeqCollectionGetDetectorList () const
 
const Char_tGetDetectorNames () const
 
KVGroupGetGroup () const
 
KVIdentificationResultGetIdentificationResult (const Char_t *idtype)
 
KVIdentificationResultGetIdentificationResult (const Char_t *idtype) const
 
KVIdentificationResultGetIdentificationResult (Int_t i)
 
KVIdentificationResultGetIdentificationResult (Int_t i) const
 
KVIdentificationResultGetIdentificationResult (KVIDTelescope *idt)
 
KVIdentificationResultGetIdentificationResult (KVIDTelescope *idt) const
 
KVIDTelescopeGetIdentifyingTelescope () const
 
const KVSeqCollectionGetIDTelescopes () const
 
const Char_tGetIDtelNames () const
 
Int_t GetNSegDet () const
 
Int_t GetNumberOfIdentificationResults () const
 
Int_t GetNumDet () const
 
virtual Float_t GetPID () const
 
Float_t GetRealA () const
 
Float_t GetRealZ () const
 
const KVReconNucTrajectoryGetReconstructionTrajectory () const
 
Int_t GetStatus () const
 
KVDetectorGetStoppingDetector () const
 void SetDetector(int i, KVDetector *);
 
virtual Double_t GetTargetEnergyLoss () const
 
Bool_t InArray (const TString &) const
 Returns kTRUE if particle was detected in array with given name.
 
void init ()
 default initialisation
 
virtual Bool_t IsAMeasured () const
 
Bool_t IsCalibrated () const
 
Bool_t IsIdentified () const
 
virtual Bool_t IsZMeasured () const
 
void ls (Option_t *="") const
 
void ModifyReconstructionTrajectory (const KVReconNucTrajectory *t)
 
void PrintStatusString () const
 
void RebuildReconTraj (bool in_streamer=true)
 
virtual void Reconstruct (KVDetector *kvd)
 
void ReplaceReconTraj (const TString &traj_name)
 
void ResetNSegDet ()
 
virtual void SetAMeasured (Bool_t yes=kTRUE)
 
void SetIdentification (KVIdentificationResult *, KVIDTelescope *)
 
void SetIdentifyingTelescope (KVIDTelescope *i)
 
void SetIsCalibrated ()
 
void SetIsIdentified ()
 
void SetIsUncalibrated ()
 
void SetIsUnidentified ()
 
void SetNSegDet (Int_t seg)
 
void SetRealA (Float_t A)
 
void SetRealZ (Float_t zz)
 
void SetReconstructionTrajectory (const KVReconNucTrajectory *t)
 Method called in initial reconstruction of particle.
 
void SetStatus (Int_t a)
 
virtual void SetTargetEnergyLoss (Double_t e)
 
virtual void SetZMeasured (Bool_t yes=kTRUE)
 
virtual void SubtractEnergyFromAllDetectors ()
 
- Public Member Functions inherited from KVNucleus
 KVNucleus ()
 
 KVNucleus (const Char_t *, Double_t EperA=0)
 KVNucleus(const Char_t *);.
 
 KVNucleus (const KVNucleus &)
 copy ctor
 
 KVNucleus (Int_t z, Double_t t, const TVector3 &p)
 
 KVNucleus (Int_t z, Int_t a, const TVector3 &p)
 
 KVNucleus (Int_t z, Int_t a=0, Double_t ekin=0)
 
virtual ~KVNucleus ()
 
void CheckZAndA (Int_t &z, Int_t &a) const
 
Int_t Compare (const TObject *obj) const
 
Double_t DeduceEincFromBrho (Double_t Brho, Int_t ChargeState=0)
 TH2F* GetKnownNucleiChart(KVString method="GetBindingEnergyPerNucleon");.
 
Int_t GetA () const
 
Double_t GetAbundance (Int_t z=-1, Int_t a=-1) const
 
KVAbundanceGetAbundancePtr (Int_t z=-1, Int_t a=-1) const
 
Double_t GetAMeV () const
 
Double_t GetAsurZ () const
 
Double_t GetAtomicMass (Int_t zz=-1, Int_t aa=-1) const
 
Int_t GetAWithMaxBindingEnergy (Int_t z=-1)
 
Double_t GetBindingEnergy (Int_t z=-1, Int_t a=-1) const
 
Double_t GetBindingEnergyPerNucleon (Int_t z=-1, Int_t a=-1) const
 Returns binding energy in MeV/A for this nucleus.
 
Double_t GetChargeAsymetry () const
 
Double_t GetChargeRadius (Int_t z=-1, Int_t a=-1) const
 
KVChargeRadiusGetChargeRadiusPtr (Int_t z=-1, Int_t a=-1) const
 
Double_t GetEnergyPerNucleon () const
 
Double_t GetExcitEnergy () const
 
Double_t GetExtraChargeRadius (Int_t z=-1, Int_t a=-1, Int_t rct=2) const
 
Double_t GetExtraMassExcess (Int_t z=-1, Int_t a=-1) const
 
Double_t GetFissionTKE (const KVNucleus *nuc=0, Int_t formula=kDefaultFormula) const
 
Double_t GetFissionVelocity (KVNucleus *nuc=0, Int_t formula=kDefaultFormula)
 
const Char_tGetIsotopesList (Int_t zmin, Int_t zmax, Double_t tmin=0) const
 
KVNumberList GetKnownARange (Int_t z=-1, Double_t tmin=0) const
 
const Char_tGetLatexSymbol (Option_t *opt="") const
 
Double_t GetLifeTime (Int_t z=-1, Int_t a=-1) const
 
KVLifeTimeGetLifeTimePtr (Int_t z=-1, Int_t a=-1) const
 
Double_t GetLiquidDropBindingEnergy (Int_t z=-1, Int_t a=-1) const
 
Double_t GetMassExcess (Int_t z=-1, Int_t a=-1) const
 
KVMassExcessGetMassExcessPtr (Int_t z=-1, Int_t a=-1) const
 
Int_t GetMassFormula () const
 
Double_t GetMassGS () const
 
KVNumberList GetMeasuredARange (Int_t z=-1) const
 returns range of a measured mass for a given element
 
Int_t GetMostAbundantA (Int_t z=-1) const
 
Int_t GetN () const
 Return the number of neutron.
 
Double_t GetNaturalA (Int_t zz=-1) const
 
Int_t GetNpairs (Int_t type=kNN) const
 
Double_t GetNsurZ () const
 
Double_t GetParity (Int_t z=-1, Int_t a=-1) const
 
Double_t GetQFasymTKE (KVNucleus *target)
 
Double_t GetRelativeVelocity (KVNucleus *nuc)
 Return the reltive velocity between nuc and this in cm/ns.
 
Double_t GetSpin (Int_t z=-1, Int_t a=-1) const
 
KVSpinParityGetSpinParityPtr (Int_t z=-1, Int_t a=-1) const
 
const Char_tGetSymbol (Option_t *opt="") const
 
Double_t GetWidth () const
 
Int_t GetZ () const
 Return the number of proton / atomic number.
 
void init ()
 
Bool_t IsDefined () const
 
Bool_t IsElement (Int_t Z) const
 
Bool_t IsIsotope (Int_t Z, Int_t A) const
 
Bool_t IsKnown (int z=-1, int a=-1) const
 
Bool_t IsResonance () const
 
Bool_t IsSortable () const
 
Bool_t IsStable (Double_t min_lifetime=1.0e+15) const
 
Double_t LiquidDrop_Weizsacker ()
 
KVNucleus operator+ (const KVNucleus &rhs)
 
KVNucleusoperator+= (const KVNucleus &rhs)
 KVNucleus addition and assignment operator.
 
KVNucleus operator- (const KVNucleus &rhs)
 
KVNucleusoperator-= (const KVNucleus &rhs)
 KVNucleus subtraction and assignment operator.
 
KVNucleusoperator= (const KVNucleus &rhs)
 KVNucleus assignment operator.
 
void Set (const Char_t *)
 
void SetA (Int_t a)
 
void SetExcitEnergy (Double_t e)
 
void SetMassFormula (UChar_t mt)
 
void SetN (Int_t n)
 
void SetZ (Int_t z, Char_t mt=-1)
 
void SetZAandE (Int_t z, Int_t a, Double_t ekin)
 Set atomic number, mass number, and kinetic energy in MeV.
 
void SetZandA (Int_t z, Int_t a)
 Set atomic number and mass number.
 
void SetZandN (Int_t z, Int_t n)
 Set atomic number and mass number.
 
int SetZFromSymbol (const Char_t *)
 
Double_t ShimaChargeState (Int_t) const
 
Double_t ShimaChargeStatePrecision () const
 
- Public Member Functions inherited from KVParticle
 KVParticle ()
 
 KVParticle (const KVParticle &)
 copy ctor
 
 KVParticle (Double_t m, const TVector3 &p)
 create particle with given mass and momentum vector
 
 KVParticle (Double_t m, Double_t px, Double_t py, Double_t pz)
 create particle with given mass and momentum vector
 
virtual ~KVParticle ()
 Info("~KVParticle","%p",this);.
 
void AddGroup (const Char_t *groupname, const Char_t *from="") const
 
Bool_t BelongsToGroup (const Char_t *groupname) const
 
void ChangeDefaultFrame (const Char_t *, const Char_t *defname="")
 
void ChangeFrame (const KVFrameTransform &, const KVString &="")
 
Double_t GetCosTheta () const
 
const KVParticleGetCurrentDefaultKinematics () const
 
Double_t GetE () const
 
Double_t GetElong () const
 
Double_t GetEnergy () const
 
Double_t GetEtran () const
 
KVParticle const * GetFrame (const Char_t *frame, Bool_t warn_and_return_null_if_unknown=kTRUE) const
 
const Char_tGetFrameName (void) const
 
KVUniqueNameListGetGroups () const
 
Double_t GetKE () const
 
KVListGetListOfFrames () const
 
Double_t GetLongitudinalEnergy () const
 
Double_t GetMass () const
 
TVector3 GetMomentum () const
 
const Char_tGetName () const
 return the field fName
 
Int_t GetNumberOfDefinedFrames () const
 
Int_t GetNumberOfDefinedGroups () const
 
KVNameValueListGetParameters () const
 
Double_t GetPhi () const
 
TVector3GetPInitial () const
 
Double_t GetREtran () const
 
Double_t GetRTransverseEnergy () const
 
Double_t GetThermalWaveLength (Double_t temp) const
 
Double_t GetTheta () const
 
Double_t GetTransverseEnergy () const
 
TVector3 GetTransverseMomentum () const
 
TVector3 GetV () const
 
TVector3 GetVelocity () const
 returns velocity vector in cm/ns units
 
Double_t GetVpar () const
 
Double_t GetVperp () const
 
Double_t GetWaveLength () const
 
Bool_t HasFrame (const Char_t *frame) const
 
KVParticle InFrame (const KVFrameTransform &)
 
void init ()
 default initialisation
 
Bool_t IsDefaultKinematics () const
 
Bool_t IsDetected () const
 
Bool_t IsOK () const
 
void ListGroups () const
 List all stored groups.
 
KVParticleoperator= (const KVParticle &rhs)
 KVParticle assignment operator.
 
void RemoveAllGroups ()
 Remove all groups.
 
void RemoveGroup (const Char_t *groupname)
 Remove group from list of groups.
 
void ResetEnergy ()
 
void ResetIsOK ()
 
void Set4Mom (const TLorentzVector &p)
 
void SetE (Double_t a)
 
void SetE0 (TVector3 *e=0)
 
void SetEnergy (Double_t e)
 
void SetFrame (const Char_t *frame, const KVFrameTransform &)
 
void SetFrame (const Char_t *newframe, const Char_t *oldframe, const KVFrameTransform &)
 
void SetFrameName (const Char_t *framename)
 
void SetIsDetected ()
 
void SetIsOK (Bool_t flag=kTRUE)
 
void SetKE (Double_t ecin)
 
virtual void SetMass (Double_t m)
 
void SetMomentum (const TVector3 &v)
 
void SetMomentum (Double_t px, Double_t py, Double_t pz, Option_t *opt="cart")
 
void SetMomentum (Double_t T, const TVector3 &dir)
 
void SetName (const Char_t *nom)
 Set Name of the particle.
 
template<typename ValType >
void SetParameter (const Char_t *name, ValType value) const
 
void SetPhi (Double_t phi)
 
void SetRandomMomentum (Double_t T, Double_t thmin, Double_t thmax, Double_t phmin, Double_t phmax, Option_t *opt="isotropic")
 
void SetTheta (Double_t theta)
 
void SetVelocity (const TVector3 &)
 Set velocity of particle (in cm/ns units)
 
void UpdateAllFrames ()
 
- Public Member Functions inherited from TLorentzVector
 TLorentzVector ()
 
 TLorentzVector (const Double_t *carray)
 
 TLorentzVector (const Float_t *carray)
 
 TLorentzVector (const TLorentzVector &lorentzvector)
 
 TLorentzVector (const TVector3 &vector3, Double_t t)
 
 TLorentzVector (Double_t x, Double_t y, Double_t z, Double_t t)
 
 ~TLorentzVector () override
 
Double_t Angle (const TVector3 &v) const
 
Double_t Beta () const
 
void Boost (const TVector3 &)
 
void Boost (Double_t, Double_t, Double_t)
 
TVector3 BoostVector () const
 
Double_t CosTheta () const
 
Double_t DeltaPhi (const TLorentzVector &) const
 
Double_t DeltaR (const TLorentzVector &, Bool_t useRapidity=kFALSE) const
 
Double_t Dot (const TLorentzVector &) const
 
Double_t DrEtaPhi (const TLorentzVector &) const
 
Double_t DrRapidityPhi (const TLorentzVector &) const
 
Double_t E () const
 
Double_t Energy () const
 
Double_t Et () const
 
Double_t Et (const TVector3 &) const
 
Double_t Et2 () const
 
Double_t Et2 (const TVector3 &) const
 
Double_t Eta () const
 
TVector2 EtaPhiVector ()
 
Double_t Gamma () const
 
void GetXYZT (Double_t *carray) const
 
void GetXYZT (Float_t *carray) const
 
TClassIsA () const override
 
Double_t M () const
 
Double_t M2 () const
 
Double_t Mag () const
 
Double_t Mag2 () const
 
Double_t Minus () const
 
Double_t Mt () const
 
Double_t Mt2 () const
 
 operator ROOT::Math::PxPyPzEVector () const
 
Bool_t operator!= (const TLorentzVector &) const
 
Double_toperator() (int i)
 
Double_t operator() (int i) const
 
Double_t operator* (const TLorentzVector &) const
 
TLorentzVector operator* (Double_t a) const
 
TLorentzVectoroperator*= (const TLorentzRotation &)
 
TLorentzVectoroperator*= (const TRotation &)
 
TLorentzVectoroperator*= (Double_t a)
 
TLorentzVector operator+ (const TLorentzVector &) const
 
TLorentzVectoroperator+= (const TLorentzVector &)
 
TLorentzVector operator- () const
 
TLorentzVector operator- (const TLorentzVector &) const
 
TLorentzVectoroperator-= (const TLorentzVector &)
 
TLorentzVectoroperator= (const TLorentzVector &)
 
Bool_t operator== (const TLorentzVector &) const
 
Double_toperator[] (int i)
 
Double_t operator[] (int i) const
 
Double_t P () const
 
Double_t Perp () const
 
Double_t Perp (const TVector3 &v) const
 
Double_t Perp2 () const
 
Double_t Perp2 (const TVector3 &v) const
 
Double_t Phi () const
 
Double_t Plus () const
 
void Print (Option_t *option="") const override
 
Double_t PseudoRapidity () const
 
Double_t Pt () const
 
Double_t Pt (const TVector3 &v) const
 
Double_t Px () const
 
Double_t Py () const
 
Double_t Pz () const
 
Double_t Rapidity () const
 
Double_t Rho () const
 
void Rotate (Double_t, const TVector3 &)
 
void RotateUz (const TVector3 &newUzVector)
 
void RotateX (Double_t angle)
 
void RotateY (Double_t angle)
 
void RotateZ (Double_t angle)
 
void SetE (Double_t a)
 
void SetPerp (Double_t)
 
void SetPhi (Double_t phi)
 
void SetPtEtaPhiE (Double_t pt, Double_t eta, Double_t phi, Double_t e)
 
void SetPtEtaPhiM (Double_t pt, Double_t eta, Double_t phi, Double_t m)
 
void SetPx (Double_t a)
 
void SetPxPyPzE (Double_t px, Double_t py, Double_t pz, Double_t e)
 
void SetPy (Double_t a)
 
void SetPz (Double_t a)
 
void SetRho (Double_t rho)
 
void SetT (Double_t a)
 
void SetTheta (Double_t theta)
 
void SetVect (const TVector3 &vect3)
 
void SetVectM (const TVector3 &spatial, Double_t mass)
 
void SetVectMag (const TVector3 &spatial, Double_t magnitude)
 
void SetX (Double_t a)
 
void SetXYZM (Double_t x, Double_t y, Double_t z, Double_t m)
 
void SetXYZT (Double_t x, Double_t y, Double_t z, Double_t t)
 
void SetY (Double_t a)
 
void SetZ (Double_t a)
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
Double_t T () const
 
Double_t Theta () const
 
TLorentzVectorTransform (const TLorentzRotation &)
 
TLorentzVectorTransform (const TRotation &)
 
TVector3 Vect () const
 
Double_t X () const
 
Double_t Y () const
 
Double_t Z () const
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 
virtual ~TObject ()
 
void AbstractMethod (const char *method) const
 
virtual void AppendPad (Option_t *option="")
 
virtual void Browse (TBrowser *b)
 
ULong_t CheckedHash ()
 
virtual const char * ClassName () const
 
virtual TObjectClone (const char *newname="") const
 
virtual void Delete (Option_t *option="")
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 
virtual void Draw (Option_t *option="")
 
virtual void DrawClass () const
 
virtual TObjectDrawClone (Option_t *option="") const
 
virtual void Dump () const
 
virtual void Error (const char *method, const char *msgfmt,...) const
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 
virtual TObjectFindObject (const char *name) const
 
virtual TObjectFindObject (const TObject *obj) const
 
virtual Option_tGetDrawOption () const
 
virtual const char * GetIconName () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 
virtual UInt_t GetUniqueID () const
 
virtual Bool_t HandleTimer (TTimer *timer)
 
virtual ULong_t Hash () const
 
Bool_t HasInconsistentHash () const
 
virtual void Info (const char *method, const char *msgfmt,...) const
 
virtual Bool_t InheritsFrom (const char *classname) const
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 
virtual void Inspect () const
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 
virtual Bool_t IsEqual (const TObject *obj) const
 
virtual Bool_t IsFolder () const
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 
virtual Bool_t Notify ()
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, void *vp)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, void *vp)
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 
virtual void Paint (Option_t *option="")
 
virtual void Pop ()
 
virtual Int_t Read (const char *name)
 
virtual void RecursiveRemove (TObject *obj)
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 
virtual void SetDrawOption (Option_t *option="")
 
virtual void SetUniqueID (UInt_t uid)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 

Private Member Functions

void CalculateChIoDEFromResidualEnergy (Double_t ERES)
 calculate fEChIo from residual energy
 
void CalculateSi75DEFromResidualEnergy (Double_t ERES)
 
Bool_t CalculateSiliconDEFromResidualEnergy ()
 
void CalculateSiLiDEFromResidualEnergy (Double_t ERES)
 
void CheckCsIEnergy ()
 
void DoBeryllium8Calibration ()
 
void DoGammaCalibration ()
 no calibration is performed for gammas
 
void DoNeutronCalibration ()
 
void SetBadCalibrationStatus ()
 
void SetNoCalibrationStatus ()
 

Private Attributes

KVINDRACodes fCodes
 VEDA6-style calibration and identification codes.
 
Bool_t fCoherent
 coherency of CsI & Si-CsI identifications
 
Bool_t fCoherentSi75SiLiCsI
 coherency of Si75-SiLi and SiLi-CsI/CsI identifications
 
Bool_t fCorrectCalib
 set to kTRUE in Streamer if calibration needs correction
 
Float_t fEChIo
 chio contribution to energy
 
Float_t fECsI
 csi contribution to energy
 
Float_t fESi
 si contribution to energy
 
Float_t fESi75
 si75 contribution to energy
 
Float_t fESiLi
 sili contribution to energy
 
Bool_t fIncludeEtalonsInCalibration
 for etalon modules:particle passed through Si75/SiLi
 
Bool_t fPileup
 apparent pileup in Si, revealed by inconsistency between CsI & Si-CsI identifications
 
Bool_t fPileupChIo
 apparent pileup in ChIo, revealed by inconsistency between CsI & ChIo-CsI identifications
 
Bool_t fPileupSi75
 apparent pileup in Si75, revealed by inconsistency between CsI/SiLi-CsI & ChIo-Si75 identifications
 
Bool_t fPileupSiLi
 apparent pileup in SiLi, revealed by inconsistency between CsI & Si75-SiLi identifications
 
Bool_t fUseFullChIoEnergyForCalib
 decided by coherency analysis
 

Additional Inherited Members

- Public Types inherited from KVReconstructedNucleus
enum  {
  kStatusOK , kStatusOKafterSub , kStatusOKafterShare , kStatusStopFirstStage ,
  kStatusPileupDE , kStatusPileupGhost
}
 status codes given to reconstructed particles by KVGroupReconstructor::AnalyseParticles More...
 
- Public Types inherited from KVNucleus
enum  {
  kBetaMass , kVedaMass , kEALMass , kEALResMass ,
  kEPAXMass
}
 
enum  { kLDModel , kEMPFunc , kELTON }
 
enum  {
  kDefaultFormula , kItkis1998 , kHinde1987 , kViola1985 ,
  kViola1966
}
 
enum  { kNN , knn , kpp , knp }
 
- Public Types inherited from KVParticle
enum  { kIsOK = BIT(14) , kIsOKSet = BIT(15) , kIsDetected = BIT(16) }
 
- Public Types inherited from TLorentzVector
typedef Double_t Scalar
 
- Public Types inherited from TObject
enum  EDeprecatedStatusBits
 
enum  EStatusBits
 
- Static Public Member Functions inherited from KVReconstructedNucleus
static void AnalyseParticlesInGroup (KVGroup *grp)
 
static UInt_t GetNIdentifiedInGroup (KVGroup *grp)
 
static UInt_t GetNUnidentifiedInGroup (KVGroup *grp)
 
- Static Public Member Functions inherited from KVNucleus
static Int_t GetAFromZ (Double_t, Char_t mt)
 
static Int_t GetNFromZ (Double_t, Char_t mt)
 Calculate neutron number from the element's atomic number Z.
 
static Double_t GetRealAFromZ (Double_t, Char_t mt)
 
static Double_t GetRealNFromZ (Double_t, Char_t mt)
 
static Int_t GetZFromSymbol (const Char_t *)
 
static Int_t IsMassGiven (const Char_t *)
 
static Double_t LiquidDrop_BrackGuet (UInt_t A, UInt_t Z)
 
static Double_t TKE_Hinde1987 (Double_t z1, Double_t a1, Double_t z2, Double_t a2)
 
static Double_t TKE_Itkis1998 (Double_t z, Double_t a)
 
static Double_t TKE_Kozulin2014 (Double_t zp, Double_t zt, Double_t ap, Double_t at)
 
static Double_t TKE_Viola1966 (Double_t z, Double_t a)
 from: V. E. Viola, Jr., Nuclear Data Sheets. Section A 1, 391 (1965).
 
static Double_t TKE_Viola1985 (Double_t z, Double_t a)
 from: V. E. Viola, K. Kwiatkowski, and M. Walker, Physical Review C 31, 1550 (1985).
 
static Double_t u (void)
 
- Static Public Member Functions inherited from KVParticle
static Double_t C ()
 
- Static Public Member Functions inherited from TLorentzVector
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 
static Bool_t GetObjectStat ()
 
static void SetDtorOnly (void *obj)
 
static void SetObjectStat (Bool_t stat)
 
- Public Attributes inherited from TLorentzVector
 kNUM_COORDINATES
 
 kSIZE
 
 kT
 
 kX
 
 kY
 
 kZ
 
- Public Attributes inherited from TObject
 kBitMask
 
 kCanDelete
 
 kCannotPick
 
 kHasUUID
 
 kInconsistent
 
 kInvalidObject
 
 kIsOnHeap
 
 kIsReferenced
 
 kMustCleanup
 
 kNoContextMenu
 
 kNotDeleted
 
 kObjInCanvas
 
 kOverwrite
 
 kSingleKey
 
 kWriteDelete
 
 kZombie
 
- Static Public Attributes inherited from KVNucleus
static Double_t e2 = KVNucleus::hbar / 137.035999074
 e^2/(4.pi.epsilon_0) in MeV.fm
 
static Double_t hbar = TMath::Hbarcgs() * TMath::Ccgs() / TMath::Qe()
 hbar*c in MeV.fm
 
static Double_t kAMU = 9.31494043e02
 atomic mass unit in MeV
 
static Double_t kMe = 0.510998
 electron mass in MeV/c2
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 
void MakeZombie ()
 
- Protected Attributes inherited from TObject
 kOnlyPrepStep
 

Constructor & Destructor Documentation

◆ KVINDRAReconNuc() [1/2]

KVINDRAReconNuc::KVINDRAReconNuc ( )

default ctor

Definition at line 73 of file KVINDRAReconNuc.cpp.

◆ KVINDRAReconNuc() [2/2]

KVINDRAReconNuc::KVINDRAReconNuc ( const KVINDRAReconNuc obj)

copy ctor

Definition at line 84 of file KVINDRAReconNuc.cpp.

◆ ~KVINDRAReconNuc()

KVINDRAReconNuc::~KVINDRAReconNuc ( )
virtual

dtor

Definition at line 101 of file KVINDRAReconNuc.cpp.

Member Function Documentation

◆ AreSiCsICoherent()

Bool_t KVINDRAReconNuc::AreSiCsICoherent ( ) const
inline

RINGS 1-9 Returns result of coherency test between Si-CsI and CsI-RL identifications. See CoherencySiCsI(KVIdentificationResult&).

Definition at line 142 of file KVINDRAReconNuc.h.

◆ CalculateChIoDEFromResidualEnergy()

void KVINDRAReconNuc::CalculateChIoDEFromResidualEnergy ( Double_t  ERES)
private

calculate fEChIo from residual energy

Definition at line 1500 of file KVINDRAReconNuc.cpp.

◆ CalculateSi75DEFromResidualEnergy()

void KVINDRAReconNuc::CalculateSi75DEFromResidualEnergy ( Double_t  ERES)
private

Etalon modules calculate fESi75 from residual CsI+SiLi energy

Definition at line 1484 of file KVINDRAReconNuc.cpp.

◆ CalculateSiliconDEFromResidualEnergy()

Bool_t KVINDRAReconNuc::CalculateSiliconDEFromResidualEnergy ( )
private

calculate fESi from fECsI returns kTRUE if OK

Definition at line 1259 of file KVINDRAReconNuc.cpp.

◆ CalculateSiLiDEFromResidualEnergy()

void KVINDRAReconNuc::CalculateSiLiDEFromResidualEnergy ( Double_t  ERES)
private

Etalon modules calculate fESiLi from residual CsI energy

Definition at line 1467 of file KVINDRAReconNuc.cpp.

◆ Calibrate()

void KVINDRAReconNuc::Calibrate ( )
virtual

Calculate and set the energy of a (previously identified) reconstructed particle. For particles in rings 10-17 For particles in rings 1-9, we use the results of the ChIo-Si-CsI coherency tests in order to calculate their energy.

Reimplemented from KVReconstructedNucleus.

Definition at line 1170 of file KVINDRAReconNuc.cpp.

◆ CalibrateRings10To17()

void KVINDRAReconNuc::CalibrateRings10To17 ( )
virtual

Special calibration for particles in rings 10 to 17 We set the energy calibration code for the particle here kECode0 = no calibration (e.g. gammas) kECode1 = everything OK kECode2 = small warning, for example if energy loss in a detector is calculated kECode15 = bad, calibration is no good The contributions from ChIo & CsI are stored in member variables fEChIo, fECsI If the contribution is calculated rather than measured, it is stored as a negative value

Definition at line 1522 of file KVINDRAReconNuc.cpp.

◆ CalibrateRings1To9()

void KVINDRAReconNuc::CalibrateRings1To9 ( )
virtual

Special calibration for particles in rings 1 to 9 We set the energy calibration code for the particle here kECode0 = no calibration (e.g. gammas) kECode1 = everything OK kECode2 = small warning, for example if energy loss in a detector is calculated kECode15 = bad, calibration is no good The contributions from ChIo, Si, and CsI are stored in member variables fEChIo, fESi, fECsI If the contribution is calculated rather than measured (see below), it is stored as a negative value. NOTE: in no case do we ever calculate an energy for uncalibrated detector using measured energy loss in the detector placed in front (i.e. calculate ECsI from deSi, or calculate ESi from deChIo) as this gives wildly varying (mostly false) results.

For gammas (IDCODE=0): no calibration performed, energy will be zero, ECODE=kECode0 For neutrons (IDCODE=1): if CsI is calibrated, we use the CsI light response to calculate the equivalent energy for a proton. For particles stopping in the CsI detector (IDCODE=2 or 3):

  • for "8Be" we use half the CsI light output to calculate 4He kinetic energy which is then doubled (we assume two 4He of identical energy), and ECODE=kECode2 (calculated)
  • if no calibration exists for the CsI, we cannot calibrate the particle (ECODE=kECode0)
  • if calibrated CsI energy is bizarre (<=0), we cannot calibrate the particle (ECODE=kECode15)
  • if the Silicon detector is not calibrated, or if coherency analysis indicates a pile-up in the silicon or other inconsistency, the Silicon energy is calculated from the calibrated CsI energy (ECODE=kECode2)
  • if the Ionisation Chamber is not calibrated, or if coherency analysis indicates a pile-up in the ChIo or other inconsistency, this contribution is calculated using the total cumulated energy measured in the CsI and/or Silicon detectors (ECODE=kECode2)

For particles stopping in the Silicon detector (IDCODE=3, 4 or 5):

  • if no calibration exists for the Silicon, we cannot calibrate the particle (ECODE=kECode0)
  • if the Ionisation Chamber is not calibrated, or if coherency analysis indicates a pile-up in the ChIo or other inconsistency, this contribution is calculated using the total cumulated energy measured in the CsI and/or Silicon detectors (ECODE=kECode2)

Definition at line 1315 of file KVINDRAReconNuc.cpp.

◆ CheckCsIEnergy()

void KVINDRAReconNuc::CheckCsIEnergy ( )
private

Check calculated CsI energy loss of particle. If it is greater than the maximum theoretical energy loss (depending on the length of CsI, the Z & A of the particle) we set the energy calibration code to kECode3 (historical VEDA code for particles with E_csi > E_max_csi)

Definition at line 1657 of file KVINDRAReconNuc.cpp.

◆ Clear()

void KVINDRAReconNuc::Clear ( Option_t t = "")
virtual

reset nucleus' properties

Reimplemented from KVReconstructedNucleus.

Definition at line 277 of file KVINDRAReconNuc.cpp.

◆ CoherencyChIoCsI()

Bool_t KVINDRAReconNuc::CoherencyChIoCsI ( KVIdentificationResult theID)
virtual

Called by Identify() for particles stopping in CsI detectors on rings 10-17, which have a ChIo detector just in front of them.

fPileupChIo = kTRUE if ChIo-CsI identification gives Z >> CsI-R/L identification this means that the particle identified in CsI-R/L is correct, and there is probably a second particle which stopped in the ChIo detector at the same time (will be added as a Zmin/code5)

Definition at line 816 of file KVINDRAReconNuc.cpp.

◆ CoherencyChIoSiCsI()

Bool_t KVINDRAReconNuc::CoherencyChIoSiCsI ( KVIdentificationResult  theID)
virtual

we check that the ChIo contribution is sane: if no other particles hit this group, the Z given by the ChIoSi must be <= the Z found from Si-CsI or CsI-RL identification

in this case the measured energy loss of the ChIo can be solely attributed to this particle and we return kTRUE; ChIo was hit by more than one particle in group

Definition at line 546 of file KVINDRAReconNuc.cpp.

◆ CoherencyEtalons()

Bool_t KVINDRAReconNuc::CoherencyEtalons ( KVIdentificationResult theID)
virtual

Called by Identify() for particles stopping in etalon modules of Rings 10-17.

Definition at line 875 of file KVINDRAReconNuc.cpp.

◆ CoherencySiCsI()

Bool_t KVINDRAReconNuc::CoherencySiCsI ( KVIdentificationResult theID)
virtual

Called by Identify() for particles stopping in CsI detectors on rings 1-9, which have a Silicon detector just in front of them.

coherent = kFALSE if CsI-R/L and Si-CsI identifications are not coherent. this is a warning, the CsI identification is kept, either the Si signal was not good (particle hitting dead zone), or it actually corresponds to two particles reaching the CsI at the same time pileup = kTRUE means that the particle identified in CsI-R/L is correct, and there is probably a second particle which stopped in the silicon detector at the same time, to be identified in ChIo-Si after subtraction of the Silicon contribution

Definition at line 593 of file KVINDRAReconNuc.cpp.

◆ Copy()

void KVINDRAReconNuc::Copy ( TObject obj) const
virtual

Reimplemented from KVReconstructedNucleus.

Definition at line 113 of file KVINDRAReconNuc.cpp.

◆ DoBeryllium8Calibration()

void KVINDRAReconNuc::DoBeryllium8Calibration ( )
private

Beryllium-8 = 2 alpha particles of same energy We halve the total light output of the CsI to calculate the energy of 1 alpha Then multiply resulting energy by 2 Note: fECsI is -ve, because energy is calculated not measured

Definition at line 1241 of file KVINDRAReconNuc.cpp.

◆ DoGammaCalibration()

void KVINDRAReconNuc::DoGammaCalibration ( )
private

no calibration is performed for gammas

Definition at line 1204 of file KVINDRAReconNuc.cpp.

◆ DoNeutronCalibration()

void KVINDRAReconNuc::DoNeutronCalibration ( )
private

use energy of CsI calculated using the Z & A of the CsI identification to calculate the energy deposited by the neutron

Definition at line 1217 of file KVINDRAReconNuc.cpp.

◆ GetChIo()

KVChIo * KVINDRAReconNuc::GetChIo ( )

Return pointer to the ChIo the particle passed through. Pointer is null if not.

Definition at line 291 of file KVINDRAReconNuc.cpp.

◆ GetCodes()

KVINDRACodes & KVINDRAReconNuc::GetCodes ( ) const
inline

Definition at line 314 of file KVINDRAReconNuc.h.

◆ GetCsI()

KVCsI * KVINDRAReconNuc::GetCsI ( )

Return pointer to the CsI the particle passed through. Pointer is null if not.

Definition at line 350 of file KVINDRAReconNuc.cpp.

◆ GetECode()

Int_t KVINDRAReconNuc::GetECode ( ) const
inlinevirtual

Return value of VEDA E code

For older data, this may be written in the KVINDRACodes object

For more recent data, this is written in a (int) parameter ECODE

Reimplemented from KVReconstructedNucleus.

Definition at line 341 of file KVINDRAReconNuc.h.

◆ GetEnergyChIo()

Float_t KVINDRAReconNuc::GetEnergyChIo ( )
inline

Return the calculated ChIo contribution to the particle's energy (including correction for losses in Mylar windows). This may be negative, in case the ChIo contribution was calculated because either (1) the ChIo was not calibrated, or (2) coherency check between ChIo-Si and Si-CsI/CsI-RL identification indicates contribution of several particles to ChIo energy

Definition at line 228 of file KVINDRAReconNuc.h.

◆ GetEnergyCsI()

Float_t KVINDRAReconNuc::GetEnergyCsI ( )
inline

Return the calculated CsI contribution to the particle's energy

Definition at line 262 of file KVINDRAReconNuc.h.

◆ GetEnergySi()

Float_t KVINDRAReconNuc::GetEnergySi ( )
inline

Return the calculated Si contribution to the particle's energy (including correction for pulse height defect). This may be negative, in case the Si contribution was calculated because either (1) the Si was not calibrated, or (2) coherency check indicates pileup in Si, or (3) coherency check indicates measured Si energy is too small for particle identified in CsI-RL

Definition at line 239 of file KVINDRAReconNuc.h.

◆ GetEnergySi75()

Float_t KVINDRAReconNuc::GetEnergySi75 ( )
inline

Return the calculated Si75 contribution to the particle's energy

Definition at line 250 of file KVINDRAReconNuc.h.

◆ GetEnergySiLi()

Float_t KVINDRAReconNuc::GetEnergySiLi ( )
inline

Return the calculated SiLi contribution to the particle's energy

Definition at line 256 of file KVINDRAReconNuc.h.

◆ GetIDCode()

Int_t KVINDRAReconNuc::GetIDCode ( ) const
inlinevirtual

Returns value of VEDA ID code

For older data, this may be written in the KVINDRACodes object

For more recent data, this is written in a (int) parameter IDCODE

Reimplemented from KVReconstructedNucleus.

Definition at line 331 of file KVINDRAReconNuc.h.

◆ GetIDSubCode()

Int_t KVINDRAReconNuc::GetIDSubCode ( const Char_t id_tel_type = "") const

Returns subcode/status code from identification performed in ID telescope of given type. i.e. to obtain CsI R-L subcode use GetIDSubCode("CSI_R_L").

The meaning of the subcodes is defined in the corresponding KVIDTelescope class description i.e. for CsI R-L, look at KVIDCsI.

The subcode is set for any attempted identification, not necessarily that which eventually leads to the definitive identification of the particle. i.e. in the example of the CsI R-L subcode, the particle in question may in fact be identified by a Si-CsI telescope, because the CsI identification routine returned e.g. KVIDGCsI::kICODE7 (a gauche de la ligne fragment, Z est alors un Zmin et le plus probable).

calling GetIDSubCode() with no type returns the identification subcode corresponding to the identifying telescope (whose pointer is given by GetIdentifyingTelescope()).

If no subcode exists (identification in given telescope type was not attempted, etc.) value returned is -1

Definition at line 462 of file KVINDRAReconNuc.cpp.

◆ GetIDSubCodeString()

const Char_t * KVINDRAReconNuc::GetIDSubCodeString ( const Char_t id_tel_type = "") const

Returns explanatory message concerning identification performed in ID telescope of given type. (see GetIDSubCode())

The subcode is set for any attempted identification, not necessarily that which eventually leads to the definitive identification of the particle.

calling GetIDSubCodeString() with no type returns the identification subcode message corresponding to the identifying telescope (whose pointer is given by GetIdentifyingTelescope()).

In case of problems: no ID telescope of type 'id_tel_type' : "No identification attempted in id_tel_type" particle not identified : "Particle unidentified. Identifying telescope not set."

Definition at line 505 of file KVINDRAReconNuc.cpp.

◆ GetModuleNumber()

UInt_t KVINDRAReconNuc::GetModuleNumber ( void  ) const
inline

Definition at line 209 of file KVINDRAReconNuc.h.

◆ GetRingNumber()

UInt_t KVINDRAReconNuc::GetRingNumber ( void  ) const
inline

Definition at line 200 of file KVINDRAReconNuc.h.

◆ GetSi()

KVSilicon * KVINDRAReconNuc::GetSi ( )

Return pointer to the Silicon the particle passed through. Pointer is null if not.

Definition at line 305 of file KVINDRAReconNuc.cpp.

◆ GetSi75()

KVSi75 * KVINDRAReconNuc::GetSi75 ( )

Return pointer to the Silicon-75 the particle passed through. Pointer is null if not.

Definition at line 320 of file KVINDRAReconNuc.cpp.

◆ GetSiLi()

KVSiLi * KVINDRAReconNuc::GetSiLi ( )

Return pointer to the Silicon-Lithium the particle passed through. Pointer is null if not.

Definition at line 335 of file KVINDRAReconNuc.cpp.

◆ GetTelescope()

KVINDRATelescope * KVINDRAReconNuc::GetTelescope ( ) const
inline

Return pointer to telescope (detector stack) in which the particle is detected

Definition at line 354 of file KVINDRAReconNuc.h.

◆ Identify()

void KVINDRAReconNuc::Identify ( )
virtual

INDRA-specific particle identification. Here we attribute the Veda6-style general identification codes depending on the result of KVReconstructedNucleus::Identify and the subcodes from the different identification algorithms: If the particle's mass A was NOT measured, we make sure that it is calculated from the measured Z using the mass formula defined by default

IDENTIFIED PARTICLES Identified particles with ID code = 2 with subcodes 4 & 5 (masse hors limite superieure/inferieure) are relabelled with kIDCode10 (identification entre les lignes CsI)

UNIDENTIFIED PARTICLES Unidentified particles receive the general ID code for non-identified particles (kIDCode14) EXCEPT if their identification in CsI R-L gave subcodes 6 or 7 (Zmin) then they are relabelled "Identified" with IDcode = 9 (ident. incomplete dans CsI ou Phoswich (Z.min)) Their "identifying" telescope is set to the CsI ID telescope

Reimplemented from KVReconstructedNucleus.

Definition at line 1017 of file KVINDRAReconNuc.cpp.

◆ init()

void KVINDRAReconNuc::init ( )

default initialisations

Definition at line 52 of file KVINDRAReconNuc.cpp.

◆ IsChIoPileup()

Bool_t KVINDRAReconNuc::IsChIoPileup ( ) const
inline

RINGS 10-17 Returns result of coherency test between ChIo-CsI and CsI-RL identifications. See CoherencyChIoCsI(KVIdentificationResult&).

Definition at line 170 of file KVINDRAReconNuc.h.

◆ IsSi75Pileup()

Bool_t KVINDRAReconNuc::IsSi75Pileup ( ) const
inline

RINGS 10-17 Returns result of coherency tests in etalon modules See CoherencyEtalons(KVIdentificationResult&).

Definition at line 156 of file KVINDRAReconNuc.h.

◆ IsSiLiPileup()

Bool_t KVINDRAReconNuc::IsSiLiPileup ( ) const
inline

RINGS 10-17 Returns result of coherency tests in etalon modules See CoherencyEtalons(KVIdentificationResult&).

Definition at line 163 of file KVINDRAReconNuc.h.

◆ IsSiPileup()

Bool_t KVINDRAReconNuc::IsSiPileup ( ) const
inline

RINGS 1-9 Returns result of coherency test between Si-CsI and CsI-RL identifications. See CoherencySiCsI(KVIdentificationResult&).

Definition at line 149 of file KVINDRAReconNuc.h.

◆ Print()

void KVINDRAReconNuc::Print ( Option_t option = "") const
virtual

Reimplemented from KVReconstructedNucleus.

Definition at line 142 of file KVINDRAReconNuc.cpp.

◆ SetBadCalibrationStatus()

void KVINDRAReconNuc::SetBadCalibrationStatus ( )
inlineprivate

Definition at line 122 of file KVINDRAReconNuc.h.

◆ SetECode()

void KVINDRAReconNuc::SetECode ( UChar_t  code_mask)
inlinevirtual

Sets code for energy calibration

Reimplemented from KVReconstructedNucleus.

Definition at line 325 of file KVINDRAReconNuc.h.

◆ SetEnergyChIo()

void KVINDRAReconNuc::SetEnergyChIo ( Float_t  val)
inline

Set the calculated ChIo contribution to the particle's energy (including correction for losses in Mylar windows). in veda6 de1+de_mylar

Definition at line 268 of file KVINDRAReconNuc.h.

◆ SetEnergyCsI()

void KVINDRAReconNuc::SetEnergyCsI ( Float_t  val)
inline

Set the calculated CsI contribution to the particle's energy

Definition at line 297 of file KVINDRAReconNuc.h.

◆ SetEnergySi()

void KVINDRAReconNuc::SetEnergySi ( Float_t  val)
inline

Set the calculated Si contribution to the particle's energy (including correction for pulse height defect). This may be negative, in case the Si contribution was calculated because either (1) the Si was not calibrated, or (2) coherency check indicates pileup in Si, or (3) coherency check indicates measured Si energy is too small for particle identified in CsI-RL

Definition at line 276 of file KVINDRAReconNuc.h.

◆ SetEnergySi75()

void KVINDRAReconNuc::SetEnergySi75 ( Float_t  val)
inline

Set the calculated Si75 contribution to the particle's energy

Definition at line 287 of file KVINDRAReconNuc.h.

◆ SetEnergySiLi()

void KVINDRAReconNuc::SetEnergySiLi ( Float_t  val)
inline

Set the calculated SiLi contribution to the particle's energy

Definition at line 292 of file KVINDRAReconNuc.h.

◆ SetIDCode()

void KVINDRAReconNuc::SetIDCode ( UShort_t  code_mask)
inlinevirtual

Sets code for identification

Reimplemented from KVReconstructedNucleus.

Definition at line 318 of file KVINDRAReconNuc.h.

◆ SetNoCalibrationStatus()

void KVINDRAReconNuc::SetNoCalibrationStatus ( )
inlineprivate

Definition at line 127 of file KVINDRAReconNuc.h.

◆ StoppedInChIo()

Bool_t KVINDRAReconNuc::StoppedInChIo ( )

Returns kTRUE if particle stopped in ChIo detector.

Definition at line 364 of file KVINDRAReconNuc.cpp.

◆ StoppedInCsI()

Bool_t KVINDRAReconNuc::StoppedInCsI ( )

Returns kTRUE if particle stopped in CsI detector.

Definition at line 430 of file KVINDRAReconNuc.cpp.

◆ StoppedInSi()

Bool_t KVINDRAReconNuc::StoppedInSi ( )

Returns kTRUE if particle stopped in Si detector.

Definition at line 381 of file KVINDRAReconNuc.cpp.

◆ StoppedInSi75()

Bool_t KVINDRAReconNuc::StoppedInSi75 ( )

Returns kTRUE if particle stopped in Si75 detector.

Definition at line 397 of file KVINDRAReconNuc.cpp.

◆ StoppedInSiLi()

Bool_t KVINDRAReconNuc::StoppedInSiLi ( )

Returns kTRUE if particle stopped in Si detector.

Definition at line 413 of file KVINDRAReconNuc.cpp.

◆ UseFullChIoEnergyForCalib()

Bool_t KVINDRAReconNuc::UseFullChIoEnergyForCalib ( ) const
inline

RINGS 1-9 Returns result of coherency test between ChIo-Si, Si-CsI and CsI-RL identifications. See CoherencyChIoSiCsI(KVIdentificationResult). RINGS 10-17 Returns kTRUE if there is just one particle in the ChIo, kFALSE if more

Definition at line 177 of file KVINDRAReconNuc.h.

Member Data Documentation

◆ fCodes

KVINDRACodes KVINDRAReconNuc::fCodes
mutableprivate

VEDA6-style calibration and identification codes.

Definition at line 103 of file KVINDRAReconNuc.h.

◆ fCoherent

Bool_t KVINDRAReconNuc::fCoherent
private

coherency of CsI & Si-CsI identifications

Definition at line 104 of file KVINDRAReconNuc.h.

◆ fCoherentSi75SiLiCsI

Bool_t KVINDRAReconNuc::fCoherentSi75SiLiCsI
private

coherency of Si75-SiLi and SiLi-CsI/CsI identifications

Definition at line 114 of file KVINDRAReconNuc.h.

◆ fCorrectCalib

Bool_t KVINDRAReconNuc::fCorrectCalib
private

set to kTRUE in Streamer if calibration needs correction

Definition at line 112 of file KVINDRAReconNuc.h.

◆ fEChIo

Float_t KVINDRAReconNuc::fEChIo
private

chio contribution to energy

Definition at line 109 of file KVINDRAReconNuc.h.

◆ fECsI

Float_t KVINDRAReconNuc::fECsI
private

csi contribution to energy

Definition at line 107 of file KVINDRAReconNuc.h.

◆ fESi

Float_t KVINDRAReconNuc::fESi
private

si contribution to energy

Definition at line 108 of file KVINDRAReconNuc.h.

◆ fESi75

Float_t KVINDRAReconNuc::fESi75
private

si75 contribution to energy

Definition at line 110 of file KVINDRAReconNuc.h.

◆ fESiLi

Float_t KVINDRAReconNuc::fESiLi
private

sili contribution to energy

Definition at line 111 of file KVINDRAReconNuc.h.

◆ fIncludeEtalonsInCalibration

Bool_t KVINDRAReconNuc::fIncludeEtalonsInCalibration
private

for etalon modules:particle passed through Si75/SiLi

Definition at line 118 of file KVINDRAReconNuc.h.

◆ fPileup

Bool_t KVINDRAReconNuc::fPileup
private

apparent pileup in Si, revealed by inconsistency between CsI & Si-CsI identifications

Definition at line 105 of file KVINDRAReconNuc.h.

◆ fPileupChIo

Bool_t KVINDRAReconNuc::fPileupChIo
private

apparent pileup in ChIo, revealed by inconsistency between CsI & ChIo-CsI identifications

Definition at line 115 of file KVINDRAReconNuc.h.

◆ fPileupSi75

Bool_t KVINDRAReconNuc::fPileupSi75
private

apparent pileup in Si75, revealed by inconsistency between CsI/SiLi-CsI & ChIo-Si75 identifications

Definition at line 117 of file KVINDRAReconNuc.h.

◆ fPileupSiLi

Bool_t KVINDRAReconNuc::fPileupSiLi
private

apparent pileup in SiLi, revealed by inconsistency between CsI & Si75-SiLi identifications

Definition at line 116 of file KVINDRAReconNuc.h.

◆ fUseFullChIoEnergyForCalib

Bool_t KVINDRAReconNuc::fUseFullChIoEnergyForCalib
private

decided by coherency analysis

Definition at line 106 of file KVINDRAReconNuc.h.