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

Detailed Description

A simple event generator for testing charged particle array response.

Each event consists of N KVSimNucleus nuclei with randomly drawn atomic number Z, kinetic energy and direction.

To use, first set the multiplicity: KVTestEvent::KVTestEvent(UInt_t n, Option_t * t) or KVTestEvent::SetMult(UInt_t mult) ... after default ctor

Then set the range in Z and the range in energy for the generated nuclei: KVTestEvent::SetZRange(UInt_t zlo, UInt_t zhi) KVTestEvent::SetERange(Float_t elo, Float_t ehi) (in MeV) or KVTestEvent::SetERangeAMeV with limits in MeV/nucleon

The masses of the nuclei are calculated from the Z assuming the valley- of-stability isotope.

By default angular ranges cover the full 4pi range, but this can be changed with KVTestEvent::SetThetaRange and KVTestEvent::SetPhiRange. Also by default directions are drawn isotropically within the set angular ranges (Option_t *t="isotropic") but by choosing option "random" this can be replaced with a flat angular distribution (see KVPosition::GetRandomDirection)

Definition at line 57 of file KVTestEvent.h.

#include <KVTestEvent.h>

Inheritance diagram for KVTestEvent:

Public Member Functions

 KVTestEvent ()
 Default constructor.
 
 KVTestEvent (UInt_t mult, Option_t *t="isotropic")
 
virtual ~KVTestEvent ()
 
void Generate ()
 
void init ()
 Default initialisations.
 
virtual void Print (Option_t *t="") const
 
void SetERange (Float_t elo, Float_t ehi)
 
void SetERangeAMeV (Float_t elo, Float_t ehi)
 
void SetMult (UInt_t m)
 
void SetPhiRange (Float_t phmin, Float_t phmax)
 
void SetThetaRange (Float_t thmin, Float_t thmax)
 
void SetZRange (UInt_t zlo, UInt_t zhi)
 
- Public Member Functions inherited from KVSimEvent
 KVSimEvent (Int_t mult=50)
 
virtual ~KVSimEvent ()
 
Double_t GetTotalCoulombEnergy () const
 
- Public Member Functions inherited from KVTemplateEvent< KVSimNucleus >
 KVTemplateEvent (Int_t mult=50)
 internal iterator used by GetNextParticle()
 
KVSimNucleusAddParticle ()
 
Iterator begin () const
 
void ChangeDefaultFrame (const Char_t *newdef, const Char_t *defname="")
 
void ChangeFrame (const KVFrameTransform &ft, const KVString &name="")
 
EventIterator ConditionalIterator (const KVTemplateParticleCondition< KVSimNucleus > &c)
 
void DefineGroup (const Char_t *groupname, const Char_t *from="")
 
void DefineGroup (const Char_t *groupname, KVTemplateParticleCondition< KVSimNucleus > *cond, const Char_t *from="")
 
Iterator end () const
 
void FillHisto (TH1 *h, const Char_t *Nucleus_method, const Char_t *method_prototype, const Char_t *args, Option_t *opt="")
 
void FillHisto (TH1 *h, const Char_t *Nucleus_method, Option_t *opt="")
 
std::enable_if< std::is_base_of< KVNucleus, U >::value >::type FillIntegerList (KVIntegerList *IL, Option_t *opt)
 
std::enable_if< std::is_base_of< KVNucleus, U >::value, Double_t >::type get_channel_qvalue () const
 
std::enable_if<!std::is_base_of< KVNucleus, U >::value, Double_t >::type get_channel_qvalue () const
 
std::enable_if< std::is_base_of< KVNucleus, U >::value, KVString >::type get_partition_name ()
 
std::enable_if<!std::is_base_of< KVNucleus, U >::value, KVString >::type get_partition_name ()
 
Double_t GetChannelQValue () const
 
std::enable_if< std::is_base_of< KVNucleus, U >::value, Double_t >::type GetGSChannelQValue () const
 
std::enable_if< std::is_base_of< KVNucleus, U >::value >::type GetGSMasses (std::vector< Double_t > &mass)
 
void GetMasses (std::vector< Double_t > &mass)
 
virtual Int_t GetMult (Option_t *opt="") const
 
void GetMultiplicities (Int_t mult[], const TString &species, Option_t *opt="")
 
Int_t GetMultiplicity (Int_t Z, Int_t A=0, Option_t *opt="")
 
KVSimNucleusGetNextParticle (Option_t *opt="") const
 
Iterator GetNextParticleIterator (Option_t *opt) const
 
KVSimNucleusGetParticle (const Char_t *group_name) const
 
KVSimNucleusGetParticle (Int_t npart) const
 
KVSimNucleusGetParticleWithName (const Char_t *name) const
 
KVString GetPartitionName ()
 
Double_t GetSum (const Char_t *Nucleus_method, const Char_t *method_prototype, const Char_t *args, Option_t *opt="")
 
Double_t GetSum (const Char_t *Nucleus_method, Option_t *opt="")
 
virtual void ls (Option_t *t="") const
 
void ResetEnergies ()
 
void ResetGetNextParticle () const
 
void SetFrame (const Char_t *frame, const KVFrameTransform &ft)
 
void SetFrame (const Char_t *newframe, const Char_t *oldframe, const KVFrameTransform &ft)
 
void SetFrameName (const KVString &name)
 
void UpdateAllFrames ()
 
- Public Member Functions inherited from KVEvent
 KVEvent (const TClass *particle_class, Int_t mult=50)
 
virtual ~KVEvent ()
 
KVNucleusAddNucleus ()
 
void Clear (Option_t *opt="")
 
void Copy (TObject &obj) const
 
void CustomStreamer ()
 
const Char_tGetFrameName () const
 
KVNucleusGetNextNucleus (Option_t *opt="") const
 
KVNucleusGetNucleus (Int_t npart) const
 
KVNameValueListGetParameters () const
 
const TClonesArrayGetParticleArray () const
 
virtual void MergeEventFragments (TCollection *events, Option_t *opt="")
 
void ResetGetNextNucleus () const
 
template<typename ValType >
void SetParameter (const Char_t *name, ValType value) const
 
- Public Member Functions inherited from KVBase
 KVBase ()
 Default constructor.
 
 KVBase (const Char_t *name, const Char_t *title="")
 Ctor for object with given name and type.
 
 KVBase (const KVBase &)
 copy ctor
 
virtual ~KVBase ()
 
const Char_tGetLabel () const
 
UInt_t GetNumber () const
 
UInt_t GetNumberOfObjects () const
 
virtual TObjectGetObject () const
 
virtual 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
 
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 ()
 
void Clear (Option_t *option="") override
 
TObjectClone (const char *newname="") const override
 
Int_t Compare (const TObject *obj) const override
 
void Copy (TObject &named) const override
 
virtual void FillBuffer (char *&buffer)
 
const char * GetName () const override
 
const char * GetTitle () const override
 
ULong_t Hash () const override
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 
TNamedoperator= (const TNamed &rhs)
 
void Print (Option_t *option="") const override
 
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
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- 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=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 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)
 
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 Attributes

UInt_t fGenMult
 multiplicity of nuclei to generate
 
Float_t fLower_Limit_E
 min E of nuclei
 
Float_t fLower_Limit_phi
 min phi of nuclei
 
Float_t fLower_Limit_theta
 min theta of nuclei
 
UInt_t fLower_Limit_Z
 min Z of nuclei
 
Char_t fOption [12]
 [12] option string
 
Float_t fUpper_Limit_E
 max E of nuclei
 
Float_t fUpper_Limit_phi
 max phi of nuclei
 
Float_t fUpper_Limit_theta
 max theta of nuclei
 
UInt_t fUpper_Limit_Z
 max Z of nuclei
 
Bool_t kAMeV
 true if E limits are in MeV/nucleon
 

Additional Inherited Members

- 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 KVEvent
static KVEventFactory (const char *plugin)
 
template<typename T >
static void MakeEventBranch (TTree *tree, const TString &branchname, T &event, Int_t bufsize=10000000)
 
- 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.
 
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.)
 
static const Char_tGetINCDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetKVBuildDate ()
 Returns KaliVeda build date.
 
static const Char_tGetKVBuildDir ()
 Returns top-level directory used for build.
 
static const Char_tGetKVBuildTime ()
 Returns KaliVeda build time.
 
static const Char_tGetKVBuildType ()
 Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...)
 
static const Char_tGetKVBuildUser ()
 Returns username of person who performed build.
 
static const Char_tGetKVSourceDir ()
 Returns top-level directory of source tree used for build.
 
static const Char_tGetKVVersion ()
 Returns KaliVeda version string.
 
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.
 
static const Char_tgitCommit ()
 Returns last git commit of sources.
 
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.
 
static Bool_t SearchAndOpenKVFile (const Char_t *name, KVSQLite::database &dbfile, const Char_t *kvsubdir="")
 
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 TNamed
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 TObject
 kBitMask
 
 kCanDelete
 
 kCannotPick
 
 kHasUUID
 
 kInconsistent
 
 kInvalidObject
 
 kIsOnHeap
 
 kIsReferenced
 
 kMustCleanup
 
 kNoContextMenu
 
 kNotDeleted
 
 kObjInCanvas
 
 kOverwrite
 
 kSingleKey
 
 kWriteDelete
 
 kZombie
 
- 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 TNamed
TString fName
 
TString fTitle
 
- Protected Attributes inherited from TObject
 kOnlyPrepStep
 

Constructor & Destructor Documentation

◆ KVTestEvent() [1/2]

KVTestEvent::KVTestEvent ( )

Default constructor.

Definition at line 19 of file KVTestEvent.cpp.

◆ ~KVTestEvent()

KVTestEvent::~KVTestEvent ( )
virtual

Definition at line 76 of file KVTestEvent.cpp.

◆ KVTestEvent() [2/2]

KVTestEvent::KVTestEvent ( UInt_t  mult,
Option_t t = "isotropic" 
)

Constructor with arguments

mult = multiplicity of event Option string can be "isotropic": particle directions generated isotropically (1/sin Theta law) "random": particle directions generated equiprobably

Definition at line 58 of file KVTestEvent.cpp.

Member Function Documentation

◆ Generate()

void KVTestEvent::Generate ( )

Generate an event based on given parameters. Before using, at least set multiplicity (using constructor with arguments or KVTestEvent::SetMult), range in Z (KVTestEvent::SetZRange) and range in energy (KVTestEvent::SetERange or KVTestEvent::SetERangeAMeV).

Definition at line 172 of file KVTestEvent.cpp.

◆ init()

void KVTestEvent::init ( void  )

Default initialisations.

Definition at line 31 of file KVTestEvent.cpp.

◆ Print()

void KVTestEvent::Print ( Option_t t = "") const
virtual

Print out list of all particles in event

Reimplemented from KVSimEvent.

Definition at line 204 of file KVTestEvent.cpp.

◆ SetERange()

void KVTestEvent::SetERange ( Float_t  elo,
Float_t  ehi 
)

Set range in kinetic energy of nuclei (MeV)

Definition at line 103 of file KVTestEvent.cpp.

◆ SetERangeAMeV()

void KVTestEvent::SetERangeAMeV ( Float_t  elo,
Float_t  ehi 
)

Set range in kinetic energy of nuclei (MeV/nucleon)

Definition at line 120 of file KVTestEvent.cpp.

◆ SetMult()

void KVTestEvent::SetMult ( UInt_t  m)
inline

Definition at line 83 of file KVTestEvent.h.

◆ SetPhiRange()

void KVTestEvent::SetPhiRange ( Float_t  phmin,
Float_t  phmax 
)

Set azimuthal angular range for nuclei

Definition at line 153 of file KVTestEvent.cpp.

◆ SetThetaRange()

void KVTestEvent::SetThetaRange ( Float_t  thmin,
Float_t  thmax 
)

Set polar angular range for nuclei

Definition at line 137 of file KVTestEvent.cpp.

◆ SetZRange()

void KVTestEvent::SetZRange ( UInt_t  zlo,
UInt_t  zhi 
)

Set range in Z of nuclei

Definition at line 87 of file KVTestEvent.cpp.

Member Data Documentation

◆ fGenMult

UInt_t KVTestEvent::fGenMult
private

multiplicity of nuclei to generate

Definition at line 69 of file KVTestEvent.h.

◆ fLower_Limit_E

Float_t KVTestEvent::fLower_Limit_E
private

min E of nuclei

Definition at line 62 of file KVTestEvent.h.

◆ fLower_Limit_phi

Float_t KVTestEvent::fLower_Limit_phi
private

min phi of nuclei

Definition at line 67 of file KVTestEvent.h.

◆ fLower_Limit_theta

Float_t KVTestEvent::fLower_Limit_theta
private

min theta of nuclei

Definition at line 65 of file KVTestEvent.h.

◆ fLower_Limit_Z

UInt_t KVTestEvent::fLower_Limit_Z
private

min Z of nuclei

Definition at line 60 of file KVTestEvent.h.

◆ fOption

Char_t KVTestEvent::fOption[12]
private

[12] option string

Definition at line 68 of file KVTestEvent.h.

◆ fUpper_Limit_E

Float_t KVTestEvent::fUpper_Limit_E
private

max E of nuclei

Definition at line 61 of file KVTestEvent.h.

◆ fUpper_Limit_phi

Float_t KVTestEvent::fUpper_Limit_phi
private

max phi of nuclei

Definition at line 66 of file KVTestEvent.h.

◆ fUpper_Limit_theta

Float_t KVTestEvent::fUpper_Limit_theta
private

max theta of nuclei

Definition at line 64 of file KVTestEvent.h.

◆ fUpper_Limit_Z

UInt_t KVTestEvent::fUpper_Limit_Z
private

max Z of nuclei

Definition at line 59 of file KVTestEvent.h.

◆ kAMeV

Bool_t KVTestEvent::kAMeV
private

true if E limits are in MeV/nucleon

Definition at line 63 of file KVTestEvent.h.