KaliVeda  1.13/01
Heavy-Ion Analysis Toolkit
KVPhoswich.cpp
Go to the documentation of this file.
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 
69 KVPhoswich::~KVPhoswich()
70 {
71 }
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 
ClassImp(KVPartitionList) void KVPartitionList
Initialisation.
#define e(i)
char Char_t
double Double_t
float Float_t
UInt_t GetNumber() const
Definition: KVBase.h:219
void AddAbsorber(KVMaterial *)
Definition: KVDetector.cpp:629
virtual Double_t GetEnergyLoss() const
Definition: KVDetector.h:368
KVMaterial * GetAbsorber(Int_t i) const
Returns pointer to the i-th absorber in the detector (i=0 first absorber, i=1 second,...
Definition: KVDetector.cpp:645
UShort_t fSegment
used in particle reconstruction
Definition: KVDetector.h:236
TString fFName
dynamically generated full name of detector
Definition: KVDetector.h:232
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:93
virtual void SetEnergyLoss(Double_t e) const
Definition: KVMaterial.h:153
KVMaterial()
default ctor
Definition: KVMaterial.cpp:77
Phoswich detector in the INDRA array (first 3 campaigns)
Definition: KVPhoswich.h:35
const Char_t * GetArrayName()
Definition: KVPhoswich.cpp:106
void SetEnergy(Double_t e) const
Set energy lost in both layers.
Definition: KVPhoswich.cpp:92
Double_t GetEnergy() const
void Print(Option_t * opt="") const;
Definition: KVPhoswich.cpp:79
KVPhoswich()
Default ctor.
Definition: KVPhoswich.cpp:31
const char * Data() const
void Form(const char *fmt,...)