KaliVeda  1.12/06
Heavy-Ion Analysis Toolkit
KVDetectionSimulator.h
Go to the documentation of this file.
1 
4 #ifndef __KVDETECTIONSIMULATOR_H
5 #define __KVDETECTIONSIMULATOR_H
6 
7 #include "KVBase.h"
8 #include "KVMultiDetArray.h"
9 #include "KVEvent.h"
10 #include "KVDetectorEvent.h"
11 #include "KVTarget.h"
13 
19 class KVDetectionSimulator : public KVBase {
20 
21 private:
23  KVDetectorEvent fHitGroups;
25 
26 public:
28  KVDetectionSimulator(KVMultiDetArray* a, Double_t cut_off = 1.e-3);
29  virtual ~KVDetectionSimulator() {}
30 
32  {
33  fArray = a;
34  }
36  {
37  return fArray;
38  }
40  {
41  return fArray->GetTarget();
42  }
44  {
45  fCalcTargELoss = y;
46  }
48  {
49  return fCalcTargELoss;
50  }
52  {
53  return static_cast<KVRangeTableGeoNavigator*>(GetArray()->GetNavigator())->GetCutOffKEForPropagation();
54  }
55  void SetMinKECutOff(Double_t cutoff)
56  {
57  static_cast<KVRangeTableGeoNavigator*>(GetArray()->GetNavigator())->SetCutOffKEForPropagation(cutoff);
58  }
59 
60  void DetectEvent(KVEvent* event, const Char_t* detection_frame = "");
62  KVNameValueList DetectParticleIn(const Char_t* detname, KVNucleus* kvp);
63 
65  {
67  fHitGroups.Clear();
68  }
69 
70  ClassDef(KVDetectionSimulator, 0) //Simulate detection of particles or events in a detector array
71 };
72 
73 #endif
char Char_t
bool Bool_t
double Double_t
const Bool_t kTRUE
#define ClassDef(name, id)
Base class for KaliVeda framework.
Definition: KVBase.h:135
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
Base class container for multi-particle events.
Definition: KVEvent.h:176
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:125
Propagate particles through array geometry calculating energy losses.
Calculation/correction of energy losses of particles through an experimental target.
Definition: KVTarget.h:126
Double_t y[n]
auto * a