KaliVeda
Toolkit for HIC analysis
KVElasticScatter.h
1 /*
2 $Id: KVElasticScatter.h,v 1.6 2007/04/04 10:39:17 ebonnet Exp $
3 $Revision: 1.6 $
4 $Date: 2007/04/04 10:39:17 $
5 */
6 
9 
10 #ifndef __KVELASTICSCATTER_H
11 #define __KVELASTICSCATTER_H
12 
13 #include "TVector3.h"
14 #include "KVNameValueList.h"
15 #include "KVNucleus.h"
16 
17 class TH1F;
18 class TList;
19 class KVGroup;
20 class KVDetector;
21 class KVTarget;
22 class KV2Body;
23 class TObjArray;
24 
96 
99  KVNucleus fOutgoing; //scattered nucleus
101 
103 
104  KVDetector* fDetector;
109 
112 
114 
117 
118 public:
119 
122 
123  void SetRun(Int_t run);
124  void SetProjectile(Int_t Z, Int_t A);
125  void SetEnergy(Double_t E);
126  void SetTargetScatteringLayer(const Char_t* name);
130  void SetEbinning(Int_t nbins = 500);
131  void SetDetector(const Char_t* det);
132  void CalculateScattering(Int_t N);
138  {
139  fExx = ex;
140  };
142  {
143  fOutgoing.SetZandA(Z, A);
144  has_outgoing = true;
145  }
146 
149  {
150  return fDepth;
151  };
154  {
155  return GetEnergy(fNDets - 1);
156  };
159  {
160  return fTheta;
161  };
162  TH1F* GetEnergy(const Char_t* type);
163  TH1F* GetEnergy(Int_t index);
165  Int_t GetNDets() const
166  {
167  return fNDets;
168  };
171  {
172  return fBinE;
173  };
174 
175  ClassDef(KVElasticScatter, 1) //Calculate elastic scattering spectra in multidetector arrays
176 };
177 
178 #endif
int Int_t
bool Bool_t
char Char_t
double Double_t
#define ClassDef(name, id)
Relativistic binary kinematics calculator.
Definition: KV2Body.h:166
Calculate elastic scattering spectra in multidetector arrays.
void SetDetector(const Char_t *det)
Set name of detector which will detect particle.
Double_t fEnergy
energy of projectile
Int_t fNDets
number of aligned detectors
virtual ~ KVElasticScatter()
void SetTargetExcitedState(Double_t ex)
KVElasticScatter()
Default constructor.
Int_t fIntLayer
index of interaction layer in multilayer target
Double_t fExx
excited state of target nucleus
TH1F * fDepth
depth of scattering point in target
TVector3 fBeamDirection
beam direction vector
KVDetector * fDetector
detector where particle will be detected
TH1F * GetEnergy()
Return pointer to energy loss histogram for chosen detector (in MeV)
void CalculateScattering(Int_t N)
Int_t GetNDets() const
Returns the number of detectors crossed by the scattered particle.
void SetEbinning(Int_t nbins=500)
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.
TList fAlignedDetectors
all aligned detectors
Bool_t fMultiLayer
kTRUE for multilayer target
void SetTargetScatteringLayer(const Char_t *name)
Int_t fBinE
Number of bins of the Energy histogram.
Int_t GetEbinning(void)
Returns the number of bins of the GetEnergy histogram.
KVNameValueList fDetInd
detector type-index association
KV2Body * fKinematics
kinematics calculation
TH1F * fTheta
angle of scattered particle
TH1F * GetDepth()
Return pointer to histogram of 'depth' of scattering point in target (in mg/cm2)
void SetEnergy(Double_t E)
Set energy of projectile in MeV.
KVTarget * fTarget
target for current run
TObjArray * fHistos
energy loss histograms for all hit detectors
KVNucleus fProj
scattered nucleus
TH1F * GetTheta()
Return pointer to polar angle distribution of scattered particle (in degrees)
void SetOutGoing(Int_t Z, Int_t A)
Group of detectors which can be treated independently of all others in array.
Definition: KVGroup.h:20
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
Description of properties and kinematics of atomic nuclei.
Definition: KVNucleus.h:123
void SetZandA(Int_t z, Int_t a)
Set atomic number and mass number.
Definition: KVNucleus.cpp:713
Calculation/correction of energy losses of particles through an experimental target.
Definition: KVTarget.h:128
Double_t ex[n]