KaliVeda
Toolkit for HIC analysis
Loading...
Searching...
No Matches
KVPhoswich.cpp
1/***************************************************************************
2$Id: KVPhoswich.cpp,v 1.14 2007/01/04 16:38:50 franklan Exp $
3 kvphoswich.cpp - description
4 -------------------
5 begin : Thu May 16 2002
6 copyright : (C) 2002 by J.D. Frankland
7 email : frankland@ganil.fr
8 ***************************************************************************/
9
10/***************************************************************************
11 * *
12 * This program is free software; you can redistribute it and/or modify *
13 * it under the terms of the GNU General Public License as published by *
14 * the Free Software Foundation; either version 2 of the License, or *
15 * (at your option) any later version. *
16 * *
17 ***************************************************************************/
18#include "Riostream.h"
19#include "KVPhoswich.h"
20#include "KVEBYEDAT_ACQParam.h"
21
23
24
25
26//______________________________________________________________________________
27
30
32{
33 //Default ctor
34
35 fSegment = 2;
36}
37
38
39
47
49{
50 //Build phoswich telescope from two layers of plastic - (NE102) and (NE115).
51 // 'thick' is a dummy argument, it is not used
52 // thickness of NE102 = 0.05cm for standard INDRA phoswich
53 // thickness of NE115 = 25cm for standard INDRA phoswich
54 //Both layers are "active" - this requires redefinition of GetEnergy etc. methods
55 //Type of detector is "PHOS"
56
57 KVMaterial* ne115 = new KVMaterial("NE102", 25);
58 AddAbsorber(ne115);
59
60 fSegment = 2;
61 SetType("PHOS");
62}
63
64
65
66
68
72
73
74
75
78
80{
81 //Override KVDetector::GetEnergy to return total energy lost in both layers
82
83 return (GetAbsorber(0)->GetEnergyLoss() +
85}
86
87
88
91
93{
94 //Set energy lost in both layers
95
96 GetAbsorber(0)->SetEnergyLoss(e / 2.);
97 GetAbsorber(1)->SetEnergyLoss(e / 2.);
98}
99
100
101
105
107{
108 //Overrides KVDetector method.
109 //Gives name of phoswich as PHOS_01, PHOS_02, etc.
110
111 fFName.Form("PHOS_%02d", GetTelescope()->GetNumber());
112 return fFName.Data();
113}
114
115
116//void KVPhoswich::SetACQParams()
117//{
118// //Set acquisition parameters for this phoswich.
119// //Do not call before detector's name has been set.
120
121// AddACQParamType("R");
122// AddACQParamType("L");
123// AddACQParamType("T");
124//}
125
#define e(i)
char Char_t
float Float_t
double Double_t
UInt_t GetNumber() const
Definition KVBase.h:220
void AddAbsorber(KVMaterial *)
virtual Double_t GetEnergyLoss() const
Definition KVDetector.h:369
KVMaterial * GetAbsorber(Int_t i) const
Returns pointer to the i-th absorber in the detector (i=0 first absorber, i=1 second,...
UShort_t fSegment
used in particle reconstruction
Definition KVDetector.h:237
TString fFName
dynamically generated full name of detector
Definition KVDetector.h:233
Base class for detectors of INDRA array.
void SetType(const Char_t *t)
KVINDRATelescope * GetTelescope() const
Description of physical materials used to construct detectors & targets; interface to range tables.
Definition KVMaterial.h:94
virtual void SetEnergyLoss(Double_t e) const
Definition KVMaterial.h:154
KVMaterial()
default ctor
Phoswich detector in the INDRA array (first 3 campaigns)
Definition KVPhoswich.h:36
const Char_t * GetArrayName()
void SetEnergy(Double_t e) const
Set energy lost in both layers.
Double_t GetEnergy() const
void Print(Option_t * opt="") const;
KVPhoswich()
Default ctor.
virtual ~KVPhoswich()
const char * Data() const
void Form(const char *fmt,...)
ClassImp(TPyArg)