10 #ifndef __KVELASTICSCATTER_H
11 #define __KVELASTICSCATTER_H
14 #include "KVNameValueList.h"
15 #include "KVNucleus.h"
#define ClassDef(name, id)
Relativistic binary kinematics calculator.
void SetTarget(const KVNucleus &)
Set target for reaction.
void SetOutgoing(const KVNucleus &proj_out)
void CalculateKinematics()
Base class for detector geometry description, interface to energy-loss calculations.
Calculate elastic scattering spectra in specific detectors of a multidetector array ,...
virtual std::pair< double, double > get_random_angles_for_scattering(const KV2Body &scattering_kinematics)
void SetNucleusOfInterest(KV2Body::nucleus_of_interest noi)
void SetDetector(const Char_t *det)
KV2Body::nucleus_of_interest fNucleusOfInterest
Int_t fNDets
number of aligned detectors
virtual void end_of_run()
std::optional< KVNucleus > fOutgoingPL
optional different nucleus for outgoing projectile-like
virtual ~ KVElasticScatter()
void SetTargetNucleusForScattering(const KVNucleus &tn)
virtual bool initial_checks_and_reset()
void SetBeamDirection(const TVector3 &beam_dir)
virtual void reset_before_new_scattering()
std::optional< KVNucleus > fTargetNuc
optional different target nucleus for scattering
TH1F * GetEnergy()
Return pointer to energy loss histogram for chosen detector (in MeV)
void CalculateScattering(Int_t N)
Perform scattering 'N' times.
void Print() const
Print details of calculation to be performed.
Int_t GetNDets() const
Returns the number of detectors crossed by the scattered particle.
TList fAlignedDetectors
all aligned detectors
void SetKinematicSolution(KV2Body::kinematic_solution ik)
TObjArray fHistos
energy loss histograms for all hit detectors
KVElasticScatter(Int_t run)
Default constructor.
void SetTargetScatteringLayer(const Char_t *name)
Double_t fAtomicDensity
number of atoms per barn (10^-24 cm2) in target
Int_t GetEbinning(void)
Returns the number of bins of the GetEnergy histogram.
KVNameValueList fDetInd
detector type-index association
virtual void detect_particle_fill_histograms(KVNucleus *ejectile, double theta, double phi, double xsec)
KV2Body::kinematic_solution fKineSol
TH1F * GetDepth()
Return pointer to histogram of 'depth' of scattering point in target (in mg/cm2)
void SetOutGoingProjectileLike(const KVNucleus &opl)
void SetEbinning(Int_t nbins)
TH1F * GetTheta()
Return pointer to polar angle distribution of scattered particle (in degrees)
void SetExcitation(Double_t ex)
void GetTargetNucleusFromTargetLayer(Bool_t yes=kTRUE)
Group of detectors which can be treated independently of all others in array.
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
Description of properties and kinematics of atomic nuclei.
Calculation/correction of energy losses of particles through an experimental target.