KaliVeda
Toolkit for HIC analysis
KVDetectionSimulator.h
1 
4 #ifndef __KVDETECTIONSIMULATOR_H
5 #define __KVDETECTIONSIMULATOR_H
6 
7 #include "KVBase.h"
8 #include "KVMultiDetArray.h"
9 #include "KVNucleusEvent.h"
10 #include "KVDetectorEvent.h"
11 #include "KVTarget.h"
12 #include "KVRangeTableGeoNavigator.h"
13 
20 class KVDetectionSimulator : public KVBase {
21 
22 private:
26 
27 public:
29  KVDetectionSimulator(KVMultiDetArray* a, Double_t cut_off = 1.e-3);
30  virtual ~KVDetectionSimulator() {}
31 
33  {
34  fArray = a;
35  }
37  {
38  return fArray;
39  }
41  {
42  return fArray->GetTarget();
43  }
45  {
46  fCalcTargELoss = y;
47  }
49  {
50  return fCalcTargELoss;
51  }
53  {
54  return static_cast<KVRangeTableGeoNavigator*>(GetArray()->GetNavigator())->GetCutOffKEForPropagation();
55  }
56  void SetMinKECutOff(Double_t cutoff)
57  {
58  static_cast<KVRangeTableGeoNavigator*>(GetArray()->GetNavigator())->SetCutOffKEForPropagation(cutoff);
59  }
60 
61  void DetectEvent(KVEvent* event, const Char_t* detection_frame = "");
63  KVNameValueList DetectParticleIn(const Char_t* detname, KVNucleus* kvp);
64 
66  {
68  fHitGroups.Clear();
69  }
70 
71  ClassDef(KVDetectionSimulator, 0) //Simulate detection of particles or events in a detector array
72 };
73 
74 #endif
bool Bool_t
char Char_t
double Double_t
constexpr Bool_t kTRUE
#define ClassDef(name, id)
Base class for KaliVeda framework.
Definition: KVBase.h:142
Simulate detection of particles or events in a detector array.
void SetArray(KVMultiDetArray *a)
KVMultiDetArray * GetArray() const
void SetIncludeTargetEnergyLoss(Bool_t y=kTRUE)
KVTarget * GetTarget() const
void DetectEvent(KVEvent *event, const Char_t *detection_frame="")
void SetMinKECutOff(Double_t cutoff)
Double_t GetMinKECutOff() const
KVNameValueList DetectParticleIn(const Char_t *detname, KVNucleus *kvp)
Bool_t IncludeTargetEnergyLoss() const
KVNameValueList DetectParticle(KVNucleus *)
Bool_t fCalcTargELoss
whether to include energy loss in target, if defined
KVDetectorEvent fHitGroups
used to reset hit detectors in between events
KVMultiDetArray * fArray
array used for detection
List of hit groups in a multidetector array.
virtual void Clear(Option_t *opt="")
Abstract base class container for multi-particle events.
Definition: KVEvent.h:67
Base class for describing the geometry of a detector array.
KVTarget * GetTarget()
KVGeoNavigator * GetNavigator() const
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
Description of properties and kinematics of atomic nuclei.
Definition: KVNucleus.h:126
Propagate particles through array geometry calculating energy losses.
Calculation/correction of energy losses of particles through an experimental target.
Definition: KVTarget.h:127
Double_t y[n]
TArc a