KaliVeda
Toolkit for HIC analysis
|
Calculate elastic scattering spectra in multidetector arrays.
Use this class to calculate the energy losses of elastically scattered nuclei in the detectors of a multidetector array. It is assumed that the following global pointers have been initialised before using this class:
gMultiDetArray- points to object describing multidetector array
gExpDB- points to database of run-dependent information for experimental dataset
In other words, we assume that the user has chosen a dataset on which she wants to work:
gDataSetManager->GetDataSet("name_of_dataset")->cd()
and then initialised the description of the experimental configuration for the dataset:
KVMultiDetArray::MakeMultiDetector(gDataSet->GetName())
Create a new elastic scattering object:
KVElasticScatter es
Then call any of the following methods in any order in order to set up the calculation:
es.SetProjectile(...)
es.SetEnergy(...)
es.SetDetector(...)
es.SetRun(...)
The SetRun(...) method uses the experimental database in order to determine the target for the run, detector state (gas pressures etc.).
When multilayer targets are used, the user can restrict the scattering calculation to one specific component of the target, i.e. the scattering takes place between the projectile and one of the nuclei of the specified layer. Energy losses before and after the scattering in the other layers of the target are of course still taken into account. To set the part of the target where scattering takes place use
es.SetTargetScatteringLayer(...)
with the name of the layer you require (this is normally the name of the element making up the layer - see KVTarget for details).
Calculations can also be performed for inelastic scattering i.e. when the target nucleus is left in an excited state (N.B. we still use the Rutherford elastic scattering cross-section for weighting the energy loss distributions). In order to do this, call
es.SetTargetExcitedState(...)
with the energy of the excited state of the target after scattering.
Definition at line 93 of file KVElasticScatter.h.
#include <KVElasticScatter.h>
Public Member Functions | |
KVElasticScatter () | |
Default constructor. | |
virtual | ~KVElasticScatter () |
Destructor. | |
void | CalculateScattering (Int_t N) |
TH1F * | GetDepth () |
Return pointer to histogram of 'depth' of scattering point in target (in mg/cm2) | |
Int_t | GetEbinning (void) |
Returns the number of bins of the GetEnergy histogram. | |
TH1F * | GetEnergy () |
Return pointer to energy loss histogram for chosen detector (in MeV) | |
TH1F * | GetEnergy (const Char_t *type) |
TH1F * | GetEnergy (Int_t index) |
Int_t | GetNDets () const |
Returns the number of detectors crossed by the scattered particle. | |
TH1F * | GetTheta () |
Return pointer to polar angle distribution of scattered particle (in degrees) | |
void | SetDetector (const Char_t *det) |
Set name of detector which will detect particle. | |
void | SetEbinning (Int_t nbins=500) |
void | SetEnergy (Double_t E) |
Set energy of projectile in MeV. | |
void | SetProjectile (Int_t Z, Int_t A) |
Set projectile Z and A. | |
void | SetRun (Int_t run) |
Set detector parameters, target, etc. for run. | |
void | SetTargetExcitedState (Double_t ex) |
void | SetTargetScatteringLayer (const Char_t *name) |
Private Attributes | |
TList * | fAlignedDetectors |
all aligned detectors | |
TVector3 | fBeamDirection |
beam direction vector | |
Int_t | fBinE |
Number of bins of the Energy histogram. | |
TH1F * | fDepth |
depth of scattering point in target | |
KVDetector * | fDetector |
detector where particle will be detected | |
KVNameValueList * | fDetInd |
detector type-index association | |
Double_t | fEnergy |
energy of projectile | |
Double_t | fExx |
excited state of target nucleus | |
TObjArray * | fHistos |
energy loss histograms for all hit detectors | |
Int_t | fIntLayer |
index of interaction layer in multilayer target | |
KV2Body * | fKinematics |
kinematics calculation | |
Bool_t | fMultiLayer |
kTRUE for multilayer target | |
Int_t | fNDets |
number of aligned detectors | |
KVNucleus | fProj |
scattered nucleus | |
KVTarget * | fTarget |
target for current run | |
KVTelescope * | fTelescope |
telescope where particle will be detected | |
TH1F * | fTheta |
angle of scattered particle | |
KVElasticScatter::KVElasticScatter | ( | ) |
Default constructor.
Definition at line 28 of file KVElasticScatter.cpp.
|
virtual |
Destructor.
Definition at line 60 of file KVElasticScatter.cpp.
Perform scattering 'N' times for current values of particle Z, A and energy, target excited state, and detector.
Definition at line 207 of file KVElasticScatter.cpp.
|
inline |
Return pointer to histogram of 'depth' of scattering point in target (in mg/cm2)
Definition at line 143 of file KVElasticScatter.h.
Returns the number of bins of the GetEnergy histogram.
Definition at line 165 of file KVElasticScatter.h.
|
inline |
Return pointer to energy loss histogram for chosen detector (in MeV)
Definition at line 148 of file KVElasticScatter.h.
Energy loss in detector of given 'type' through which scattered particle passes. Warning: if there are several detectors of the same type in the list of detectors through which the particle passes, the first one (as seen by the impinging particle) will have type "type", the second "type_1", the third "type_2", etc.
Definition at line 378 of file KVElasticScatter.cpp.
Energy loss in any detector through which scattered particle passes. The index corresponds to the order in which detectors are crossed by the particle, beginning with 0 for the first detector, and ending with (GetNDets()-1)
Definition at line 397 of file KVElasticScatter.cpp.
|
inline |
Returns the number of detectors crossed by the scattered particle.
Definition at line 160 of file KVElasticScatter.h.
|
inline |
Return pointer to polar angle distribution of scattered particle (in degrees)
Definition at line 153 of file KVElasticScatter.h.
Set name of detector which will detect particle.
Definition at line 125 of file KVElasticScatter.cpp.
Set the number of bins of the GetEnergy() histogram Default value is 500; this function has to be called before using CalculateScattering.
Set binning of the GetEnergy histogram Default value is 500
Definition at line 194 of file KVElasticScatter.cpp.
Set energy of projectile in MeV.
Definition at line 111 of file KVElasticScatter.cpp.
Set projectile Z and A.
Definition at line 98 of file KVElasticScatter.cpp.
Set detector parameters, target, etc. for run.
Definition at line 82 of file KVElasticScatter.cpp.
To simulate inelastic scattering i.e. where the target nucleus is left in an excited state, use this method to set the excitation energy (in MeV). This value will be used for all subsequent calculations. Use SetTargetExcitedState(0) to return to elastic scattering.
Definition at line 137 of file KVElasticScatter.h.
For multilayer targets, use this method to choose in which layer the scattering will take place. If name="", reset any previous choice so that scattering can take place in any layer
Definition at line 170 of file KVElasticScatter.cpp.
|
private |
all aligned detectors
Definition at line 105 of file KVElasticScatter.h.
|
private |
beam direction vector
Definition at line 110 of file KVElasticScatter.h.
|
private |
Number of bins of the Energy histogram.
Definition at line 96 of file KVElasticScatter.h.
|
private |
depth of scattering point in target
Definition at line 94 of file KVElasticScatter.h.
|
private |
detector where particle will be detected
Definition at line 104 of file KVElasticScatter.h.
|
private |
detector type-index association
Definition at line 116 of file KVElasticScatter.h.
|
private |
energy of projectile
Definition at line 98 of file KVElasticScatter.h.
|
private |
excited state of target nucleus
Definition at line 113 of file KVElasticScatter.h.
|
private |
energy loss histograms for all hit detectors
Definition at line 115 of file KVElasticScatter.h.
|
private |
index of interaction layer in multilayer target
Definition at line 111 of file KVElasticScatter.h.
|
private |
kinematics calculation
Definition at line 101 of file KVElasticScatter.h.
|
private |
kTRUE for multilayer target
Definition at line 108 of file KVElasticScatter.h.
|
private |
number of aligned detectors
Definition at line 106 of file KVElasticScatter.h.
|
private |
scattered nucleus
Definition at line 99 of file KVElasticScatter.h.
|
private |
target for current run
Definition at line 107 of file KVElasticScatter.h.
|
private |
telescope where particle will be detected
Definition at line 103 of file KVElasticScatter.h.
|
private |
angle of scattered particle
Definition at line 95 of file KVElasticScatter.h.