KaliVeda  1.12/06
Heavy-Ion Analysis Toolkit
List of all members | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
KVIDINDRACsI Class Reference

Definition at line 27 of file KVIDINDRACsI.h.

Public Member Functions

 KVIDINDRACsI ()
 
virtual ~ KVIDINDRACsI ()
 
virtual Bool_t CanIdentify (Int_t Z, Int_t)
 
virtual Bool_t Identify (KVIdentificationResult *, Double_t x=-1., Double_t y=-1.)
 
void Initialize ()
 
void SetIdentificationStatus (KVReconstructedNucleus *n)
 
- Public Member Functions inherited from KVIDTelescope
 KVIDTelescope ()
 
virtual ~ KVIDTelescope ()
 
virtual void AddDetector (KVDetector *d)
 
KVIDGridCalculateDeltaE_EGrid (const KVNumberList &Zrange, Int_t deltaMasse, Int_t npoints, Double_t lifetime=-10, UChar_t massformula=0, Double_t xfactor=1.)
 
KVIDGridCalculateDeltaE_EGrid (TH2 *haa_zz, Bool_t Zonly, Int_t npoints)
 
virtual void CalculateParticleEnergy (KVReconstructedNucleus *nuc)
 
void CheckIdentificationBilan (const TString &system)
 Set status of ID Telescope for given system. More...
 
virtual Bool_t CheckTheoreticalIdentificationThreshold (KVNucleus *, Double_t=0.0)
 
virtual Int_t GetCalibStatus () const
 
const Char_tGetDefaultIDGridClass ()
 
KVDetectorGetDetector (const Char_t *name) const
 Return a pointer to the detector in the telescope with the name "name". More...
 
KVDetectorGetDetector (UInt_t n) const
 
UInt_t GetDetectorRank (const KVDetector *kvd) const
 
const KVListGetDetectors () const
 
KVGroupGetGroup () const
 
UInt_t GetGroupNumber ()
 
virtual UShort_t GetIDCode ()
 
KVIDGraphGetIDGrid ()
 
KVIDGraphGetIDGrid (const Char_t *)
 
KVIDGraphGetIDGrid (Int_t)
 Return pointer to grid using position in list. First grid has index = 1. More...
 
void GetIDGridCoords (Double_t &X, Double_t &Y, KVIDGraph *grid, Double_t x=-1, Double_t y=-1)
 
Double_t GetIDGridXCoord (KVIDGraph *) const
 
Double_t GetIDGridYCoord (KVIDGraph *) const
 
virtual Double_t GetIDMapX (Option_t *opt="")
 
virtual Double_t GetIDMapY (Option_t *opt="")
 
const KVListGetListOfIDGrids () const
 
virtual Double_t GetMeanDEFromID (Int_t &status, Int_t Z, Int_t A=-1, Double_t Eres=-1.0)
 
virtual Double_t GetPedestalX (Option_t *opt="")
 
virtual Double_t GetPedestalY (Option_t *opt="")
 
UInt_t GetSize () const
 
Bool_t HasDetector (const KVDetector *d) const
 
Bool_t HasMassID () const
 
void init ()
 default init More...
 
Bool_t IsIndependent () const
 
virtual Bool_t IsReadyForID ()
 
void LoadIdentificationParameters (const Char_t *filename, const KVMultiDetArray *multidet)
 This method add to the gIDGridManager list the identification grids. More...
 
virtual TGraphMakeIDLine (KVNucleus *nuc, Double_t Emin, Double_t Emax, Double_t Estep=0.0)
 
virtual void Print (Option_t *opt="") const
 
void ReadIdentificationParameterFiles (const Char_t *filename, const KVMultiDetArray *multidet)
 
virtual void RemoveGrids ()
 
virtual void RemoveIdentificationParameters ()
 
void SetGroup (KVGroup *kvg)
 
void SetHasMassID (Bool_t yes=kTRUE)
 
virtual void SetIDCode (UShort_t c)
 
virtual Bool_t SetIdentificationParameters (const KVMultiDetArray *)
 
void SetIDGrid (KVIDGraph *)
 
- Public Member Functions inherited from KVBase
 KVBase ()
 Default constructor. More...
 
 KVBase (const Char_t *name, const Char_t *title="")
 Ctor for object with given name and type. More...
 
 KVBase (const KVBase &)
 copy ctor More...
 
virtual ~ KVBase ()
 
virtual void Clear (Option_t *opt="")
 Clear object properties : name, type/title, number, label. More...
 
virtual void Copy (TObject &) const
 Make a copy of this object. More...
 
const Char_tGetLabel () const
 
UInt_t GetNumber () const
 
UInt_t GetNumberOfObjects () const
 
virtual TObjectGetObject () const
 
const Char_tGetType () const
 
Bool_t HasLabel () const
 
virtual Bool_t IsCalled (const Char_t *name) const
 
Bool_t IsLabelled (const Char_t *l) const
 
virtual Bool_t IsType (const Char_t *typ) const
 
virtual void List ()
 
KVBaseoperator= (const KVBase &)
 copy assignment operator More...
 
Double_t ProtectedGetX (const TF1 *func, Double_t val, int &status, Double_t xmin=0.0, Double_t xmax=0.0) const
 
void SetLabel (const Char_t *lab)
 
virtual void SetNumber (UInt_t num)
 
virtual void SetType (const Char_t *str)
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 
virtual TObjectClone (const char *newname="") const
 
virtual Int_t Compare (const TObject *obj) const
 
virtual void FillBuffer (char *&buffer)
 
virtual const char * GetName () const
 
virtual const char * GetTitle () const
 
virtual ULong_t Hash () const
 
virtual Bool_t IsSortable () const
 
virtual void ls (Option_t *option="") const
 
TNamedoperator= (const TNamed &rhs)
 
virtual void SetName (const char *name)
 
virtual void SetNameTitle (const char *name, const char *title)
 
virtual void SetTitle (const char *title="")
 
virtual Int_t Sizeof () 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 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=0)
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 
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 UInt_t GetUniqueID () const
 
virtual Bool_t HandleTimer (TTimer *timer)
 
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)
 
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)
 
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)
 
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=0, Int_t option=0, Int_t bufsize=0)
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 

Protected Member Functions

float clamp (float x, float lowerlimit, float upperlimit)
 
float smootherstep (float edge0, float edge1, float x)
 Scale, and clamp x to 0..1 range. More...
 
- Protected Member Functions inherited from KVIDTelescope
KVDetectorSignalGetSignalFromGridVar (const KVString &var, const KVString &axe)
 
void SetLabelFromURI (const Char_t *uri)
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 
void MakeZombie ()
 

Private Attributes

KVIDGraphCsIGrid
 telescope's grid More...
 
Int_t fThresMax [2][4]
 max ID thresholds (smooth step) More...
 
Int_t fThresMin [2][4]
 min ID thresholds (smooth step) More...
 

Additional Inherited Members

- Public Types inherited from KVIDTelescope
enum  {
  kCalibStatus_OK , kCalibStatus_Calculated , kCalibStatus_NoCalibrations , kCalibStatus_Multihit ,
  kCalibStatus_Coherency
}
 status of particle calibration after Calibrate(KVReconstructedNucleus*) is called More...
 
enum  { kMeanDE_OK , kMeanDE_XtooSmall , kMeanDE_XtooLarge , kMeanDE_NoIdentifier }
 status codes for GetMeanDEFromID More...
 
- Public Types inherited from KVBase
enum  EKaliVedaBits { kIsKaliVedaObject = BIT(23) }
 
- Public Types inherited from TObject
enum  EDeprecatedStatusBits
 
enum  EStatusBits
 
- Static Public Member Functions inherited from KVIDTelescope
static KVIDTelescopeMakeIDTelescope (const Char_t *name)
 
static void OpenIdentificationBilan (const TString &path)
 Open IdentificationBilan.dat file with given path. More...
 
- Static Public Member Functions inherited from KVBase
static Bool_t AreEqual (Double_t x, Double_t y, Long64_t maxdif=1)
 Comparison between two 64-bit floating-point values. More...
 
static void BackupFileWithDate (const Char_t *path)
 
static void CombineFiles (const Char_t *file1, const Char_t *file2, const Char_t *newfilename, Bool_t keep=kTRUE)
 
static void Deprecated (const char *method, const char *advice)
 
static Bool_t FindClassSourceFiles (const Char_t *class_name, KVString &imp_file, KVString &dec_file, const Char_t *dir_name=".")
 
static Bool_t FindExecutable (TString &exec, const Char_t *path="$(PATH)")
 
static const Char_tFindFile (const Char_t *search, TString &wfil)
 
static const Char_tGetBINDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetDATABASEFilePath ()
 
static const Char_tGetDATADIRFilePath (const Char_t *namefile="")
 
static Bool_t GetDataSetEnv (const Char_t *dataset, const Char_t *type, Bool_t defval)
 
static const Char_tGetDataSetEnv (const Char_t *dataset, const Char_t *type, const Char_t *defval)
 
static Double_t GetDataSetEnv (const Char_t *dataset, const Char_t *type, Double_t defval)
 
static const Char_tGetETCDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetExampleFilePath (const Char_t *library, const Char_t *namefile)
 Return full path to example file for given library (="KVMultiDet", "BackTrack", etc.) More...
 
static const Char_tGetINCDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetKVBuildDate ()
 Returns KaliVeda build date. More...
 
static const Char_tGetKVBuildDir ()
 Returns top-level directory used for build. More...
 
static const Char_tGetKVBuildTime ()
 Returns KaliVeda build date. More...
 
static const Char_tGetKVBuildType ()
 Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...) More...
 
static const Char_tGetKVBuildUser ()
 Returns username of person who performed build. More...
 
static const Char_tGetKVSourceDir ()
 Returns top-level directory of source tree used for build. More...
 
static const Char_tGetKVVersion ()
 Returns KaliVeda version string. More...
 
static const Char_tGetLIBDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetListOfPlugins (const Char_t *base)
 
static const Char_tGetListOfPluginURIs (const Char_t *base)
 
static const Char_tGetPluginURI (const Char_t *base, const Char_t *plugin)
 
static void GetTempFileName (TString &base)
 
static const Char_tGetTEMPLATEDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetWORKDIRFilePath (const Char_t *namefile="")
 
static const Char_tgitBranch ()
 Returns git branch of sources. More...
 
static const Char_tgitCommit ()
 Returns last git commit of sources. More...
 
static void InitEnvironment ()
 
static bool is_gnuinstall ()
 
static Bool_t IsThisAPlugin (const TString &uri, TString &base)
 
static TPluginHandlerLoadPlugin (const Char_t *base, const Char_t *uri="0")
 
static Bool_t OpenContextMenu (const char *method, TObject *obj, const char *alt_method_name="")
 
static void OpenTempFile (TString &base, std::ofstream &fp)
 
static void PrintSplashScreen ()
 Prints welcome message and infos on version etc. More...
 
static Bool_t SearchAndOpenKVFile (const Char_t *name, std::ifstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0)
 
static Bool_t SearchAndOpenKVFile (const Char_t *name, std::ofstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0)
 
static Bool_t SearchKVFile (const Char_t *name, TString &fullpath, const Char_t *kvsubdir="")
 
static const Char_tWorkingDirectory ()
 
- Static Public Member Functions inherited from TObject
static Longptr_t GetDtorOnly ()
 
static Bool_t GetObjectStat ()
 
static void SetDtorOnly (void *obj)
 
static void SetObjectStat (Bool_t stat)
 
- Public Attributes inherited from TObject
 kBitMask
 
 kCanDelete
 
 kCannotPick
 
 kHasUUID
 
 kInconsistent
 
 kInvalidObject
 
 kIsOnHeap
 
 kIsReferenced
 
 kMustCleanup
 
 kNoContextMenu
 
 kNotDeleted
 
 kObjInCanvas
 
 kOverwrite
 
 kSingleKey
 
 kWriteDelete
 
 kZombie
 
- Protected Types inherited from KVIDTelescope
enum  { kMassID = BIT(15) , kReadyForID = BIT(16) }
 
- Protected Attributes inherited from KVIDTelescope
Int_t fCalibStatus
 temporary variable holding status code for last call to Calibrate(KVReconstructedNucleus*) More...
 
KVList fDetectors
 list of detectors in telescope More...
 
std::unordered_map< KVIDGraph *, GraphCoordsfGraphCoords
 X/Y coordinates from detector signals for ID maps. More...
 
KVGroupfGroup
 group to which telescope belongs More...
 
KVList fIDGrids
 identification grid(s) More...
 
KVParticleConditionfMassIDValidity
 may be used to limit mass identification to certain Z and/or A range More...
 
- Protected Attributes inherited from KVBase
TString fLabel
 label for the object More...
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 
- Protected Attributes inherited from TObject
 kOnlyPrepStep
 

#include <KVIDINDRACsI.h>

Inheritance diagram for KVIDINDRACsI:
Inheritance graph
[legend]

Constructor & Destructor Documentation

◆ KVIDINDRACsI()

KVIDINDRACsI::KVIDINDRACsI ( )

Definition at line 36 of file KVIDINDRACsI.cpp.

◆ ~ KVIDINDRACsI()

virtual KVIDINDRACsI::~ KVIDINDRACsI ( )
inlinevirtual

Definition at line 41 of file KVIDINDRACsI.h.

Member Function Documentation

◆ CanIdentify()

virtual Bool_t KVIDINDRACsI::CanIdentify ( Int_t  Z,
Int_t   
)
inlinevirtual

Used for filtering simulations Returns kTRUE if this telescope is theoretically capable of identifying a given nucleus, without considering thresholds etc. For INDRA CsI Rapide-Lente detectors, identification is possible up to Z=4

Reimplemented from KVIDTelescope.

Definition at line 50 of file KVIDINDRACsI.h.

◆ clamp()

float KVIDINDRACsI::clamp ( float  x,
float  lowerlimit,
float  upperlimit 
)
protected

Definition at line 160 of file KVIDINDRACsI.cpp.

◆ Identify()

Bool_t KVIDINDRACsI::Identify ( KVIdentificationResult IDR,
Double_t  x = -1.,
Double_t  y = -1. 
)
virtual

Particle identification and code setting using identification grid

Note that gamma identification code is no longer attributed here: in case a gamma is identified, the IDR->IDcode will be the same general ID code as for all CsI particles, but IDR->IDquality == KVIDGCsI::kICODE10

The KVIdentificationResult is first Clear()ed; then it is filled with IDtype = GetType() of this identification telescope, IDattempted = true, and the results of the identification procedure.

Reimplemented from KVIDTelescope.

Definition at line 75 of file KVIDINDRACsI.cpp.

◆ Initialize()

void KVIDINDRACsI::Initialize ( void  )
inlinevirtual

Default initialisation for ID telescopes. If telescope has at least 1 grid then it is ready to identify particles after initialising the grid(s) (kReadyForID=true); otherwise kReadyForID is set to kFALSE, unless the current dataset (if defined) has been declared to have no associated identification/calibration parameters, in which case kReadyForID is by default set to kTRUE (for filtering simulations).

In order to enable mass identification for certain telescopes without a dedicated implementation (e.g. for simulating array response), put the following lines in your .kvrootrc:

[dataset].[telescope label].MassID: yes

If you want to limit mass identification to certain values of Z and/or A, add the following line:

[dataset].[telescope label].MassID.Validity: [expression]

where [expression] is some valid C++ boolean expression involving Z and/or A, for example

[dataset].[telescope label].MassID.Validity: (Z>3)&&(A<20)

For identifications using more than one grid, the default behaviour is to try identification with each grid in turn until a successful identification is obtained. The order in which the grids should be tried should be specified by a variable with the following format:

[Dataset].[telescope label].GridOrder: [Grid1],[Grid2],...

Reimplemented from KVIDTelescope.

Definition at line 43 of file KVIDINDRACsI.h.

◆ SetIdentificationStatus()

void KVIDINDRACsI::SetIdentificationStatus ( KVReconstructedNucleus n)
virtual

For filtering simulations If n->GetEnergy() is above threshold for mass identification, we set n->IsAMeasured(kTRUE) (and n->IsZMeasured(kTRUE)). Otherwise, we just set n->IsZMeasured(kTRUE) and use the A given by the mass formula for the particle

individual thresholds defined for 1H, 2H, 3H, 3He, 4He for A>5 identification if CsI energy > 40 MeV

If A is not measured, we make sure the KE of the particle corresponds to the simulated one

Reimplemented from KVIDTelescope.

Definition at line 117 of file KVIDINDRACsI.cpp.

◆ smootherstep()

float KVIDINDRACsI::smootherstep ( float  edge0,
float  edge1,
float  x 
)
protected

Scale, and clamp x to 0..1 range.

Definition at line 174 of file KVIDINDRACsI.cpp.

Member Data Documentation

◆ CsIGrid

KVIDGraph* KVIDINDRACsI::CsIGrid
private

telescope's grid

Definition at line 29 of file KVIDINDRACsI.h.

◆ fThresMax

Int_t KVIDINDRACsI::fThresMax[2][4]
private

max ID thresholds (smooth step)

Definition at line 32 of file KVIDINDRACsI.h.

◆ fThresMin

Int_t KVIDINDRACsI::fThresMin[2][4]
private

min ID thresholds (smooth step)

Definition at line 31 of file KVIDINDRACsI.h.


The documentation for this class was generated from the following files: