KaliVeda  1.13/01
Heavy-Ion Analysis Toolkit
KVElasticCountRates.h
Go to the documentation of this file.
1 
4 #ifndef __KVElasticCountRates_H
5 #define __KVElasticCountRates_H
6 
7 #include "TVector3.h"
8 #include "KVNameValueList.h"
9 #include "KVPosition.h"
10 #include "TH1F.h"
11 #include "KVNucleus.h"
12 #include "KV2Body.h"
13 #include "KVTarget.h"
14 #include <map>
15 
137  double count_rate;
138  double mean_energy;
139  double intXsec; // integrated X-section (barn)
140  double fluence; // ions/sec./cm**2
141  double dissipation; // MeV/sec./cm**2
142  KVElasticCountRate(double c = 0, double e = 0, double i = 0, double f = 0, double d = 0)
144  virtual ~KVElasticCountRate() {}
145 
146  ClassDef(KVElasticCountRate, 0) //Elastic scattering rate information for detector
147 };
148 
150 
154 
157 
159 
161 
169 
172 
174 
176 
177  std::map<std::string, KVElasticCountRate> fRates;
178 
179 public:
180 
181  KVElasticCountRates(Double_t theta_min = 0, Double_t theta_max = 180, Double_t phi_min = 0, Double_t phi_max = 360);
183 
184  void SetRun(Int_t run);
185  void SetProjectile(const Char_t* nuc, Double_t e_sur_a);
186  void SetTargetScatteringLayer(const Char_t* name);
187  void SetEbinning(Int_t nbins = 500);
188 
189  void CalculateScattering(Int_t N = 10000);
191  {
196  fExx = ex;
197  }
198 
200  {
202 
203  return fDepth;
204  }
206  {
208 
209  return fTheta;
210  }
212  {
214 
215  return fBinE;
216  }
217 
219  const KVHashList& GetHistos() const
220  {
221  return fHistos;
222  };
223 
224  void PrintResults(Double_t beam_intensity = 1.e+07);
225  KVNameValueList PutResultsInList(Double_t beam_intensity = 1.e+07);
226 
227  KVElasticCountRate GetDetector(const std::string& name)
228  {
229  return fRates[name];
230  }
231 
232  ClassDef(KVElasticCountRates, 1)//Calculate elastic scattering count rates in multidetector arrays
233 };
234 
235 #endif
int Int_t
#define d(i)
#define f(i)
#define c(i)
#define e(i)
char Char_t
bool Bool_t
double Double_t
#define ClassDef(name, id)
Relativistic binary kinematics calculator.
Definition: KV2Body.h:165
Calculate elastic scattering count rates in multidetector arrays.
Int_t fIntLayer
index of interaction layer in multilayer target
void PrintResults(Double_t beam_intensity=1.e+07)
Print mean energy deposit & counting rate for given beam intensity in particles per second.
Double_t fEnergy
energy of projectile
KVNameValueList PutResultsInList(Double_t beam_intensity=1.e+07)
Print mean energy deposit & counting rate for given beam intensity in particles per second.
KVElasticCountRates(Double_t theta_min=0, Double_t theta_max=180, Double_t phi_min=0, Double_t phi_max=360)
Default constructor.
void FillHistograms(KVNameValueList *)
KVNucleus fProj
scattered nucleus
void SetProjectile(const Char_t *nuc, Double_t e_sur_a)
Set projectile and beam energy [MeV/nucleon].
Int_t fBinE
Number of bins of the Energy histogram.
void SetEbinning(Int_t nbins=500)
KVHashList fHistos
histograms for all hit detectors
KV2Body * fKinematics
kinematics calculation
const KVHashList & GetHistos() const
virtual ~ KVElasticCountRates()
KVElasticCountRate GetDetector(const std::string &name)
void CalculateScattering(Int_t N=10000)
Double_t fVolume
volume factor for MC integration
void SetRun(Int_t run)
Set detector parameters, target, etc. for run.
TH1F * fDepth
depth of scattering point in target
std::map< std::string, KVElasticCountRate > fRates
Bool_t fMultiLayer
kTRUE for multilayer target
void SetTargetScatteringLayer(const Char_t *name)
Double_t fExx
excited state of target nucleus
KVPosition fAngularRange
angular range in which to scatter
TH1F * fTheta
angle of scattered particle
TVector3 fBeamDirection
beam direction vector
KVTarget * fTarget
target for current run
void SetTargetExcitedState(Double_t ex)
Double_t fAtomicDensity
number of atoms per barn (10^-24 cm2) in target
Extended version of ROOT THashList.
Definition: KVHashList.h:28
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
Description of properties and kinematics of atomic nuclei.
Definition: KVNucleus.h:125
Base class used for handling geometry in a multidetector array.
Definition: KVPosition.h:90
Calculation/correction of energy losses of particles through an experimental target.
Definition: KVTarget.h:126
Double_t ex[n]
Utility class used by KVElasticCountRates to store results.
KVElasticCountRate(double c=0, double e=0, double i=0, double f=0, double d=0)
Utility class used by KVElasticCountRates.