KaliVeda
Toolkit for HIC analysis
|
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>
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() | |
KVSimNucleus * | AddParticle () |
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="") |
KVSimNucleus * | GetNextParticle (Option_t *opt="") const |
Iterator | GetNextParticleIterator (Option_t *opt) const |
KVSimNucleus * | GetParticle (const Char_t *group_name) const |
KVSimNucleus * | GetParticle (Int_t npart) const |
KVSimNucleus * | GetParticleWithName (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 () |
KVNucleus * | AddNucleus () |
void | Clear (Option_t *opt="") |
void | Copy (TObject &obj) const |
void | CustomStreamer () |
const Char_t * | GetFrameName () const |
KVNucleus * | GetNextNucleus (Option_t *opt="") const |
KVNucleus * | GetNucleus (Int_t npart) const |
KVNameValueList * | GetParameters () const |
const TClonesArray * | GetParticleArray () 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_t * | GetLabel () const |
UInt_t | GetNumber () const |
UInt_t | GetNumberOfObjects () const |
virtual TObject * | GetObject () const |
virtual const Char_t * | GetType () 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 () |
KVBase & | operator= (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 |
TObject * | Clone (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 |
TClass * | IsA () const override |
Bool_t | IsSortable () const override |
void | ls (Option_t *option="") const override |
TNamed & | operator= (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 TObject * | DrawClone (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 TObject * | FindObject (const char *name) const |
virtual TObject * | FindObject (const TObject *obj) const |
virtual Option_t * | GetDrawOption () const |
virtual const char * | GetIconName () const |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
virtual Option_t * | GetOption () 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) |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, void *vp) |
TObject & | operator= (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 KVEvent * | Factory (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_t * | FindFile (const Char_t *search, TString &wfil) |
static const Char_t * | GetBINDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetDATABASEFilePath () |
static const Char_t * | GetDATADIRFilePath (const Char_t *namefile="") |
static Bool_t | GetDataSetEnv (const Char_t *dataset, const Char_t *type, Bool_t defval) |
static const Char_t * | GetDataSetEnv (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_t * | GetETCDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetExampleFilePath (const Char_t *library, const Char_t *namefile) |
Return full path to example file for given library (="KVMultiDet", "BackTrack", etc.) | |
static const Char_t * | GetINCDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetKVBuildDate () |
Returns KaliVeda build date. | |
static const Char_t * | GetKVBuildDir () |
Returns top-level directory used for build. | |
static const Char_t * | GetKVBuildTime () |
Returns KaliVeda build time. | |
static const Char_t * | GetKVBuildType () |
Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...) | |
static const Char_t * | GetKVBuildUser () |
Returns username of person who performed build. | |
static const Char_t * | GetKVSourceDir () |
Returns top-level directory of source tree used for build. | |
static const Char_t * | GetKVVersion () |
Returns KaliVeda version string. | |
static const Char_t * | GetLIBDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetListOfPlugins (const Char_t *base) |
static const Char_t * | GetListOfPluginURIs (const Char_t *base) |
static const Char_t * | GetPluginURI (const Char_t *base, const Char_t *plugin) |
static void | GetTempFileName (TString &base) |
static const Char_t * | GetTEMPLATEDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetWORKDIRFilePath (const Char_t *namefile="") |
static const Char_t * | gitBranch () |
Returns git branch of sources. | |
static const Char_t * | gitCommit () |
Returns last git commit of sources. | |
static void | InitEnvironment () |
static bool | is_gnuinstall () |
static Bool_t | IsThisAPlugin (const TString &uri, TString &base) |
static TPluginHandler * | LoadPlugin (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_t * | WorkingDirectory () |
Static Public Member Functions inherited from TNamed | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TObject | |
static TClass * | Class () |
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 | |
KVTestEvent::KVTestEvent | ( | ) |
Default constructor.
Definition at line 19 of file KVTestEvent.cpp.
|
virtual |
Definition at line 76 of file KVTestEvent.cpp.
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.
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.
Default initialisations.
Definition at line 31 of file KVTestEvent.cpp.
Print out list of all particles in event
Reimplemented from KVSimEvent.
Definition at line 204 of file KVTestEvent.cpp.
Set range in kinetic energy of nuclei (MeV)
Definition at line 103 of file KVTestEvent.cpp.
Set range in kinetic energy of nuclei (MeV/nucleon)
Definition at line 120 of file KVTestEvent.cpp.
Definition at line 83 of file KVTestEvent.h.
Set azimuthal angular range for nuclei
Definition at line 153 of file KVTestEvent.cpp.
Set polar angular range for nuclei
Definition at line 137 of file KVTestEvent.cpp.
Set range in Z of nuclei
Definition at line 87 of file KVTestEvent.cpp.
|
private |
multiplicity of nuclei to generate
Definition at line 69 of file KVTestEvent.h.
|
private |
min E of nuclei
Definition at line 62 of file KVTestEvent.h.
|
private |
min phi of nuclei
Definition at line 67 of file KVTestEvent.h.
|
private |
min theta of nuclei
Definition at line 65 of file KVTestEvent.h.
|
private |
min Z of nuclei
Definition at line 60 of file KVTestEvent.h.
|
private |
[12] option string
Definition at line 68 of file KVTestEvent.h.
|
private |
max E of nuclei
Definition at line 61 of file KVTestEvent.h.
|
private |
max phi of nuclei
Definition at line 66 of file KVTestEvent.h.
|
private |
max theta of nuclei
Definition at line 64 of file KVTestEvent.h.
|
private |
max Z of nuclei
Definition at line 59 of file KVTestEvent.h.
|
private |
true if E limits are in MeV/nucleon
Definition at line 63 of file KVTestEvent.h.