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

Detailed Description

simulate ElasticScatterEvent and answer of a given (multi-)detector : A + B -> A + B

Created by KVClassFactory on Thu Dec 11 14:45:29 2008 Author: eric bonnet,,,

Definition de la voie d'entrée avec les methodes suivantes :

La possibilité est donnée d'effectuer des diffusions sur un noyau différent des noyaux de la cible

Ex : SetTargetNucleus(new KVNucleus("181Ta")); SetTargetMaterial(new KVTarget("40Ca",1.0)) //cible de Ca de 1 mg/cm2 Diffusion sur un noyau de Ta et propagation dans une cible de Ca Si SetTargetMaterial est appelé et pas SetTargNucleus, le noyau cible est débuit du materiel choisi pour la cible

Definition du domaine angulaire de diffusion et mode de tirage

Réalistion des diffusions la méthode Process(Int_t ntimes) permet la réalisation de tous le processus :

  • propagation du noyau projectile dans la cible jusqu'au point d'intéraction
  • tirage d'un théta et phi pour la diffusion sur le noyau cible
  • calcul de la cinématique pour cette direction choisie (réalisé par la classe KV2Body)
  • si un KVMultiDetArray est défini et que la méthode SetDetectionOn(), détection des projectiles et cibles en voie de sortie
  • enregistrement des evts diffuses dans un arbre sous forme de KVEvent

Exemple :

es->SetSystem(54,129,8*129,28,58); 129Xe+58Ni@8MeV/A
es->SetRandomOption("isotropic"); tirage en theta isotrope
es->DefineAngularRange(6,8.5,12,30); theta 1 a 15 et phi 0 a 360
10000 diffusion
es->Process(10000);
KVElasticScatterEvent()
Default constructor.
TArc a

Definition at line 82 of file KVElasticScatterEvent.h.

#include <KVElasticScatterEvent.h>

Inheritance diagram for KVElasticScatterEvent:

Public Types

enum  {
  kProjIsSet = BIT(14) , kTargIsSet = BIT(15) , kHasTarget = BIT(16) , kIsUpdated = BIT(17) ,
  kIsDetectionOn = BIT(18)
}
 
- Public Types inherited from KVBase
enum  EKaliVedaBits { kIsKaliVedaObject = BIT(23) }
 
- Public Types inherited from TObject
enum  EDeprecatedStatusBits
 
enum  EStatusBits
 

Public Member Functions

 KVElasticScatterEvent ()
 Default constructor.
 
virtual ~KVElasticScatterEvent ()
 Destructor.
 
void ChooseKinSol (Int_t choix=1)
 
virtual void ClearHistos ()
 Efface la liste des histo et leur contenu et met le pointeur a zero.
 
virtual void ClearTrees ()
 Efface la liste des arbres et leur contenu et met le pointeur a zero.
 
void DefineAngularRange (Double_t tmin, Double_t tmax, Double_t pmin, Double_t pmax)
 
virtual void DefineAngularRange (TObject *)
 
virtual void DefineHistos ()
 
virtual void DefineTrees ()
 
virtual void Filter ()
 
KVHashListGetHistos () const
 return the list where histo are stored
 
virtual TVector3GetInteractionPointInTargetLayer ()
 return the last interaction point in the target
 
KV2BodyGetKV2Body ()
 
KVNucleusGetNucleus (const Char_t *name) const
 return the current projectile ("PROJ") or the target ("TARG") nucleus
 
KVNucleusGetNucleus (Int_t ii) const
 return the current projectile (ii=1) or the target (ii==2) nucleus
 
Double_t GetPhi (KVString opt) const
 
KVReconstructedEventGetReconstructedEvent (void) const
 
KVReconstructedNucleusGetReconstructedNucleus (KVString nucname)
 
KVEventGetSimEvent (void) const
 
KVTargetGetTarget () const
 return the current target material
 
Double_t GetTheta (KVString opt) const
 
KVHashListGetTrees () const
 return the list where histo are stored
 
Bool_t IsDetectionOn () const
 
Bool_t IsIsotropic () const
 retoune kTRUE si l'option choisi est isotrope
 
Bool_t IsProjNucSet () const
 
Bool_t IsTargMatSet () const
 
Bool_t IsTargNucSet () const
 
Bool_t IsUpdated () const
 
void Print (Option_t *="") const
 
virtual void Process (Int_t ntimes=1, Bool_t reset=kTRUE)
 
virtual void Reset ()
 Set contents/entries to zero for predifined histograms, trees.
 
virtual void ResetHistos ()
 Reset histo in the list.
 
virtual void ResetTrees ()
 
virtual void SetAnglesForDiffusion (Double_t theta, Double_t phi)
 
void SetDetectionOn (Bool_t On=kTRUE)
 
void SetDiffNucleus (KVString name="PROJ")
 
virtual void SetProjNucleus (KVNucleus *nuc)
 Define new projectile nucleus.
 
void SetRandomOption (Option_t *opt="isotropic")
 
virtual void SetSystem (Int_t zp, Int_t ap, Double_t ekin, Int_t zt, Int_t at)
 
virtual void SetSystem (KVDBSystem *sys)
 
virtual void SetTargetMaterial (KVTarget *targ, Bool_t IsRandomized=kTRUE)
 
virtual void SetTargNucleus (KVNucleus *nuc)
 Define new target nucleus.
 
virtual void TreateEvent ()
 
virtual Bool_t ValidateEntrance ()
 
- 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 ()
 
virtual void Clear (Option_t *opt="")
 Clear object properties : name, type/title, number, label.
 
virtual void Copy (TObject &) const
 Make a copy of this object.
 
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 Member Functions

Bool_t DefineTargetNucleusFromLayer (KVString layer_name="")
 
void GenereKV2Body ()
 
void init ()
 
virtual void MakeDiffusion ()
 
void NewInteractionPointInTargetLayer ()
 
void PropagateInTargetLayer ()
 
void SortieDeCible ()
 
void StartEvents ()
 

Private Attributes

KV2Bodykb2
 
Int_t kchoix_layer
 
Int_t kChoixSol
 
Int_t kDiffNuc
 
TVector3 kIPPVector
 
KVPosition kposalea
 
Option_tkRandomOpt
 
KVTargetktarget
 
Int_t kTreatedNevts
 number of diffusion performed
 
Double_t kXruth_evt
 
KVHashListlhisto
 to store control histogram
 
KVHashListltree
 to store tree
 
Double_t phi_max
 
Double_t phi_min
 
KVNucleusproj
 
KVReconstructedEventrec_evt
 
KVSimEventsim_evt
 
KVNucleustarg
 
Double_t th_max
 
Double_t th_min
 

Additional Inherited Members

- 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
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kProjIsSet 
kTargIsSet 
kHasTarget 
kIsUpdated 
kIsDetectionOn 

Definition at line 124 of file KVElasticScatterEvent.h.

Constructor & Destructor Documentation

◆ KVElasticScatterEvent()

KVElasticScatterEvent::KVElasticScatterEvent ( )

Default constructor.

Definition at line 32 of file KVElasticScatterEvent.cpp.

◆ ~KVElasticScatterEvent()

KVElasticScatterEvent::~KVElasticScatterEvent ( )
virtual

Destructor.

Definition at line 44 of file KVElasticScatterEvent.cpp.

Member Function Documentation

◆ ChooseKinSol()

void KVElasticScatterEvent::ChooseKinSol ( Int_t  choix = 1)

Dans le cas d'une cinematique inverse (Zproj>Ztarget) deux solutions cinetiques sont possibles pour un meme angle de diffusion du projectile choix=1, on traite seulement la premiere solution ie diffusion a l arriere de la cible choix=2, on traite seulement la deuxieme solution ie diffusion a l avant de la cible choix=0, les deux solution sont traitees avec la meme probabilite

Definition at line 246 of file KVElasticScatterEvent.cpp.

◆ ClearHistos()

void KVElasticScatterEvent::ClearHistos ( )
virtual

Efface la liste des histo et leur contenu et met le pointeur a zero.

Definition at line 1136 of file KVElasticScatterEvent.cpp.

◆ ClearTrees()

void KVElasticScatterEvent::ClearTrees ( )
virtual

Efface la liste des arbres et leur contenu et met le pointeur a zero.

Definition at line 1196 of file KVElasticScatterEvent.cpp.

◆ DefineAngularRange() [1/2]

void KVElasticScatterEvent::DefineAngularRange ( Double_t  tmin,
Double_t  tmax,
Double_t  pmin,
Double_t  pmax 
)

Define in which angular (polar and azimuthal) range The projectile diffusion direction will be randomized If this method is not used Default range is \theta [0,180] and \phi [0,360]

Definition at line 1228 of file KVElasticScatterEvent.cpp.

◆ DefineAngularRange() [2/2]

void KVElasticScatterEvent::DefineAngularRange ( TObject obj)
virtual

Define in which angular (polar and azimuthal) range The projectile diffusion direction will be randomized From the geometry of the given object obj This method is defined for object derived from

Definition at line 1252 of file KVElasticScatterEvent.cpp.

◆ DefineHistos()

void KVElasticScatterEvent::DefineHistos ( )
virtual

Definition of control histograms

  • phi_theta : filled with angles choosen to determine the direction of the diffused projectile
  • target_layer_depth : interaction point position in the target
  • ek_theta : filled with energies and polar angles of projectile and target nuclei after diffusion they are detected by the multidetarray

Definition at line 1073 of file KVElasticScatterEvent.cpp.

◆ DefineTargetNucleusFromLayer()

Bool_t KVElasticScatterEvent::DefineTargetNucleusFromLayer ( KVString  layer_name = "")
private

Define the nucleus target from the type of the given layer which belongs to the predefined target layer_name has to be the chemical symbol of the material

Definition at line 429 of file KVElasticScatterEvent.cpp.

◆ DefineTrees()

void KVElasticScatterEvent::DefineTrees ( )
virtual

Definition of trees

Par defaut un seul arbre : ElasticScatter where simulated events are stored sous forme de KVEvent Lors du remplissage de l arbre ( methode TreateEvent) les parametres associes au KVEvent::GetParameters et au KVNucleus::GetParameters (projectile et cible) sont scannés et leur nom et le moyen d'y accéder ajouté aux alias de l arbre pour une utilisation plus aisé de celui_ci

Definition at line 1157 of file KVElasticScatterEvent.cpp.

◆ Filter()

void KVElasticScatterEvent::Filter ( )
virtual

Simulate passage of the projectile/target couple through the multidetector refered by the gMultiDetArray pointer if it is not valid do nothing

Definition at line 892 of file KVElasticScatterEvent.cpp.

◆ GenereKV2Body()

void KVElasticScatterEvent::GenereKV2Body ( )
private

Protected Method called by ValidateEntrance() method Genere the KV2Body object which manage the 2 body kinematics for the elastik scatter

Store the original momentum of the projectile nuclei

Define the KVEvent and KVReconstructedEvent pointer where are stored the projectile/target nuclei couple after diffusion / detection StartEvents() methods

Make a copy of projectile and target nuclei for the KVEvent

Definition at line 374 of file KVElasticScatterEvent.cpp.

◆ GetHistos()

KVHashList * KVElasticScatterEvent::GetHistos ( ) const

return the list where histo are stored

Definition at line 1113 of file KVElasticScatterEvent.cpp.

◆ GetInteractionPointInTargetLayer()

TVector3 & KVElasticScatterEvent::GetInteractionPointInTargetLayer ( )
virtual

return the last interaction point in the target

Definition at line 756 of file KVElasticScatterEvent.cpp.

◆ GetKV2Body()

KV2Body * KVElasticScatterEvent::GetKV2Body ( )
inline

Definition at line 205 of file KVElasticScatterEvent.h.

◆ GetNucleus() [1/2]

KVNucleus * KVElasticScatterEvent::GetNucleus ( const Char_t name) const

return the current projectile ("PROJ") or the target ("TARG") nucleus

Definition at line 281 of file KVElasticScatterEvent.cpp.

◆ GetNucleus() [2/2]

KVNucleus * KVElasticScatterEvent::GetNucleus ( Int_t  ii) const

return the current projectile (ii=1) or the target (ii==2) nucleus

Definition at line 296 of file KVElasticScatterEvent.cpp.

◆ GetPhi()

Double_t KVElasticScatterEvent::GetPhi ( KVString  opt) const

Return the limite in phi range (azimuthal angle) opt has to be "min" or "max"

Definition at line 1327 of file KVElasticScatterEvent.cpp.

◆ GetReconstructedEvent()

KVReconstructedEvent * KVElasticScatterEvent::GetReconstructedEvent ( void  ) const
inline

Definition at line 178 of file KVElasticScatterEvent.h.

◆ GetReconstructedNucleus()

KVReconstructedNucleus * KVElasticScatterEvent::GetReconstructedNucleus ( KVString  nucname)
inline

Definition at line 174 of file KVElasticScatterEvent.h.

◆ GetSimEvent()

KVEvent * KVElasticScatterEvent::GetSimEvent ( void  ) const
inline

Definition at line 182 of file KVElasticScatterEvent.h.

◆ GetTarget()

KVTarget * KVElasticScatterEvent::GetTarget ( ) const

return the current target material

Definition at line 350 of file KVElasticScatterEvent.cpp.

◆ GetTheta()

Double_t KVElasticScatterEvent::GetTheta ( KVString  opt) const

Return the limite in theta range (polar angle) opt has to be "min" or "max"

Definition at line 1311 of file KVElasticScatterEvent.cpp.

◆ GetTrees()

KVHashList * KVElasticScatterEvent::GetTrees ( ) const

return the list where histo are stored

Definition at line 1184 of file KVElasticScatterEvent.cpp.

◆ init()

void KVElasticScatterEvent::init ( void  )
private

Variables permettant de traiter les doubles solutions cinematiques pour un theta donne

Initialisation des variables par defaut theta 0,180 et phi 0,360 tirage isotropique noyau de reference pour la direction de diffusion Projectile

Definition at line 67 of file KVElasticScatterEvent.cpp.

◆ IsDetectionOn()

Bool_t KVElasticScatterEvent::IsDetectionOn ( ) const
inline

Definition at line 148 of file KVElasticScatterEvent.h.

◆ IsIsotropic()

Bool_t KVElasticScatterEvent::IsIsotropic ( ) const

retoune kTRUE si l'option choisi est isotrope

Definition at line 228 of file KVElasticScatterEvent.cpp.

◆ IsProjNucSet()

Bool_t KVElasticScatterEvent::IsProjNucSet ( ) const
inline

Definition at line 132 of file KVElasticScatterEvent.h.

◆ IsTargMatSet()

Bool_t KVElasticScatterEvent::IsTargMatSet ( ) const
inline

Definition at line 140 of file KVElasticScatterEvent.h.

◆ IsTargNucSet()

Bool_t KVElasticScatterEvent::IsTargNucSet ( ) const
inline

Definition at line 136 of file KVElasticScatterEvent.h.

◆ IsUpdated()

Bool_t KVElasticScatterEvent::IsUpdated ( ) const
inline

Definition at line 144 of file KVElasticScatterEvent.h.

◆ MakeDiffusion()

void KVElasticScatterEvent::MakeDiffusion ( )
privatevirtual

Propagation dans la cible du projectile jusqu'au point d interaction PropagateInTargetLayer(); Tirage aleatoire d'un couple theta phi pour la direction de diffusion du projectile Determination de la cinematique de la voie de sortie SetAnglesForDiffusion(the,phi); Filtre si un multidetecteur est defini Filter Traitement de l evt (remplissage d'arbre ou d'histo TreateEvent();

Definition at line 618 of file KVElasticScatterEvent.cpp.

◆ NewInteractionPointInTargetLayer()

void KVElasticScatterEvent::NewInteractionPointInTargetLayer ( )
private

Choose a new interaction point in the current target layer This position can be read via the GetInteractionPointInTargetLayer() method

Definition at line 695 of file KVElasticScatterEvent.cpp.

◆ Print()

void KVElasticScatterEvent::Print ( Option_t = "") const
virtual

Reimplemented from KVBase.

Definition at line 1032 of file KVElasticScatterEvent.cpp.

◆ Process()

void KVElasticScatterEvent::Process ( Int_t  ntimes = 1,
Bool_t  reset = kTRUE 
)
virtual

process ntimes elastic scatter if reset=kTRUE, reset histograms, trees and counter before

Definition at line 583 of file KVElasticScatterEvent.cpp.

◆ PropagateInTargetLayer()

void KVElasticScatterEvent::PropagateInTargetLayer ( )
private

Apply Energy loss calculation to the entering projectile along its path in the target layer to the interation point

if a gMultiDetArray is defined the outgoing (after diffusion) pathes are not treated here but in the Filter() method

if not is treated in the SortieDeCible method

Definition at line 720 of file KVElasticScatterEvent.cpp.

◆ Reset()

void KVElasticScatterEvent::Reset ( )
virtual

Set contents/entries to zero for predifined histograms, trees.

Definition at line 116 of file KVElasticScatterEvent.cpp.

◆ ResetHistos()

void KVElasticScatterEvent::ResetHistos ( )
virtual

Reset histo in the list.

Definition at line 1124 of file KVElasticScatterEvent.cpp.

◆ ResetTrees()

void KVElasticScatterEvent::ResetTrees ( )
virtual

Reset the tree contents and aliases for the "ElasticScatter" tree

Definition at line 1210 of file KVElasticScatterEvent.cpp.

◆ SetAnglesForDiffusion()

void KVElasticScatterEvent::SetAnglesForDiffusion ( Double_t  theta,
Double_t  phi 
)
virtual

Determination a partir du theta choisi de l'energie cinetique du projectile diffuse All kinematics properties calculated in the KV2Body class are accessible via the KV2Body& GetKinematics() method

WARNING: in inverse kinematics, there are two projectile energies for each lab angle.

Definition at line 803 of file KVElasticScatterEvent.cpp.

◆ SetDetectionOn()

void KVElasticScatterEvent::SetDetectionOn ( Bool_t  On = kTRUE)

Definition at line 328 of file KVElasticScatterEvent.cpp.

◆ SetDiffNucleus()

void KVElasticScatterEvent::SetDiffNucleus ( KVString  name = "PROJ")

Defini le noyau auquel se réfère la direction de diffusion (theta, phi) name="PROJ" (default) diffusion du projectile name="TARG" diffusion de la cible

Definition at line 190 of file KVElasticScatterEvent.cpp.

◆ SetProjNucleus()

void KVElasticScatterEvent::SetProjNucleus ( KVNucleus nuc)
virtual

Define new projectile nucleus.

Definition at line 264 of file KVElasticScatterEvent.cpp.

◆ SetRandomOption()

void KVElasticScatterEvent::SetRandomOption ( Option_t opt = "isotropic")

Defini le mode de tirage aleatoire pour l'angle polaire opt="isotropic" ou "" (defaut) ou "random" voir KVPosition::GetRandomDirection()

Definition at line 214 of file KVElasticScatterEvent.cpp.

◆ SetSystem() [1/2]

void KVElasticScatterEvent::SetSystem ( Int_t  zp,
Int_t  ap,
Double_t  ekin,
Int_t  zt,
Int_t  at 
)
virtual

Define the entrance channel zp, ap, ekin, atomic number, mass number and kinetic energy (MeV) of the projectile zt, at, atomic number, mass number of the target

Definition at line 155 of file KVElasticScatterEvent.cpp.

◆ SetSystem() [2/2]

void KVElasticScatterEvent::SetSystem ( KVDBSystem sys)
virtual

Define the entrance channel using KVDBSystem object Get projectile and target via KVDBSystem::GetKinematics() Get target material using KVDBSystem::GetTarget()

Definition at line 132 of file KVElasticScatterEvent.cpp.

◆ SetTargetMaterial()

void KVElasticScatterEvent::SetTargetMaterial ( KVTarget targ,
Bool_t  IsRandomized = kTRUE 
)
virtual

Define a new target material where the nuclei will be propagated if IsRandomized=kTRUE, the interaction point are randomly determined

Definition at line 311 of file KVElasticScatterEvent.cpp.

◆ SetTargNucleus()

void KVElasticScatterEvent::SetTargNucleus ( KVNucleus nuc)
virtual

Define new target nucleus.

Definition at line 172 of file KVElasticScatterEvent.cpp.

◆ SortieDeCible()

void KVElasticScatterEvent::SortieDeCible ( )
private

Apply Energy loss calculation in target material for the outgoing projectile and target

Definition at line 771 of file KVElasticScatterEvent.cpp.

◆ StartEvents()

void KVElasticScatterEvent::StartEvents ( )
private

Define the KVEvent and KVReconstructedEvent pointer where are stored the projectile/target nuclei couple after diffusion / detection

Definition at line 410 of file KVElasticScatterEvent.cpp.

◆ TreateEvent()

void KVElasticScatterEvent::TreateEvent ( )
virtual

Rempli l'arbre ElasticScatter Boucle sur tous les parametres associés a l evt (KVEvent::GetParameters() et au projectiles et cible qui le constituent GetParticle(1)->GetParameters() Chaque parametre devient un alias de l'arbre ElasticScatter pour une utilisation a posteriori plus facile.

  • pour les parametres de l'evt, on donne directement le nom du parametre
  • pour les particule : N1_[nom_du parametre] pour les projectiles et N2_[nom_du parametre] pour les cibles diffusés

Exemple avec l'utilisation de TTree::Draw Si on veut voir le spectre en energie laissé par les projectiles diffuses dans la "CI_0601" au lieu de faire GetTree("Simulated_evts")->Draw("Simulated_evts->GetParticle(1)->GetParameters()->GetValue(\"CI_0601\")") on fera GetTree("Simulated_evts")->Draw("N1_CI_0601")

Generation des correlation Energie Cinetique (Ek) vs Angle de diffusion (theta) pour tous les cas de détection

Definition at line 925 of file KVElasticScatterEvent.cpp.

◆ ValidateEntrance()

Bool_t KVElasticScatterEvent::ValidateEntrance ( )
virtual

Check if there is :

Check if the gMultiDetArray is valid, put it in SimMode in order to able the detection and reconstruction If GetTarget() return kTRUE, put it in the gMultiDetArray If not, check if there is already one in the gMultiDetArray If there is one, use it for the following If there is no target material at all make diffusion without

Generate the KV2Body object to calculate kinematics of the elastic scatter

if histograms and trees is defined do nothing for this objects if not DefineTrees() and DefineHistos() are called. if you want to regenerate histograms and/or trees call ClearHistos() and/or ClearTrees() before using ValidateEntrance()

Return kTRUE if everything is ready

Definition at line 492 of file KVElasticScatterEvent.cpp.

Member Data Documentation

◆ kb2

KV2Body* KVElasticScatterEvent::kb2
private

Definition at line 85 of file KVElasticScatterEvent.h.

◆ kchoix_layer

Int_t KVElasticScatterEvent::kchoix_layer
private

Definition at line 98 of file KVElasticScatterEvent.h.

◆ kChoixSol

Int_t KVElasticScatterEvent::kChoixSol
private

Definition at line 104 of file KVElasticScatterEvent.h.

◆ kDiffNuc

Int_t KVElasticScatterEvent::kDiffNuc
private

Definition at line 101 of file KVElasticScatterEvent.h.

◆ kIPPVector

TVector3 KVElasticScatterEvent::kIPPVector
private

Definition at line 86 of file KVElasticScatterEvent.h.

◆ kposalea

KVPosition KVElasticScatterEvent::kposalea
private

Definition at line 103 of file KVElasticScatterEvent.h.

◆ kRandomOpt

Option_t* KVElasticScatterEvent::kRandomOpt
private

Definition at line 102 of file KVElasticScatterEvent.h.

◆ ktarget

KVTarget* KVElasticScatterEvent::ktarget
private

Definition at line 87 of file KVElasticScatterEvent.h.

◆ kTreatedNevts

Int_t KVElasticScatterEvent::kTreatedNevts
private

number of diffusion performed

Definition at line 99 of file KVElasticScatterEvent.h.

◆ kXruth_evt

Double_t KVElasticScatterEvent::kXruth_evt
private

Definition at line 97 of file KVElasticScatterEvent.h.

◆ lhisto

KVHashList* KVElasticScatterEvent::lhisto
private

to store control histogram

Definition at line 93 of file KVElasticScatterEvent.h.

◆ ltree

KVHashList* KVElasticScatterEvent::ltree
private

to store tree

Definition at line 94 of file KVElasticScatterEvent.h.

◆ phi_max

Double_t KVElasticScatterEvent::phi_max
private

Definition at line 96 of file KVElasticScatterEvent.h.

◆ phi_min

Double_t KVElasticScatterEvent::phi_min
private

Definition at line 96 of file KVElasticScatterEvent.h.

◆ proj

KVNucleus* KVElasticScatterEvent::proj
private

Definition at line 88 of file KVElasticScatterEvent.h.

◆ rec_evt

KVReconstructedEvent* KVElasticScatterEvent::rec_evt
private

Definition at line 90 of file KVElasticScatterEvent.h.

◆ sim_evt

KVSimEvent* KVElasticScatterEvent::sim_evt
private

Definition at line 91 of file KVElasticScatterEvent.h.

◆ targ

KVNucleus* KVElasticScatterEvent::targ
private

Definition at line 89 of file KVElasticScatterEvent.h.

◆ th_max

Double_t KVElasticScatterEvent::th_max
private

Definition at line 96 of file KVElasticScatterEvent.h.

◆ th_min

Double_t KVElasticScatterEvent::th_min
private

Definition at line 96 of file KVElasticScatterEvent.h.