24#ifndef RestCore_TRestDetectorDriftVolume
25#define RestCore_TRestDetectorDriftVolume
33#include "TApplication.h"
39#include "TRestMetadata.h"
46 std::string fMaterial;
49 Double_t fElectricField;
50 Double_t fDriftVelocity;
51 Double_t fElectronLifeTime;
52 Double_t fLongitudinalDiffusion;
53 Double_t fTransversalDiffusion;
54 Double_t fTownsendCoefficient;
55 Double_t fAttachmentCoefficient;
57 Double_t fPressureInAtm;
58 Double_t fTemperatureInK;
66 virtual std::string GetMaterial()
const {
return fMaterial; }
67 virtual Double_t GetW()
const {
return fW; }
68 virtual Double_t GetWvalue()
const {
return fW; }
76 virtual Double_t GetElectronLifeTime() {
return fElectronLifeTime; }
77 virtual Double_t GetLongitudinalDiffusion() {
return fLongitudinalDiffusion; }
78 virtual Double_t GetTransversalDiffusion() {
return fTransversalDiffusion; }
79 virtual Double_t GetTownsendCoefficient() {
return fTownsendCoefficient; }
80 virtual Double_t GetAttachmentCoefficient() {
return fAttachmentCoefficient; }
82 virtual Double_t GetPressure()
const {
return fPressureInAtm; }
83 virtual Double_t GetTemperature()
const {
return fTemperatureInK; }
85 virtual void SetMaterial(std::string value) { fMaterial = value; }
88 virtual void SetW(
double value) { fW = value; }
94 virtual void SetDriftVelocity(
double value) { fDriftVelocity = value; }
96 virtual void SetElectronLifeTime(
double value) { fElectronLifeTime = value; }
97 virtual void SetLongitudinalDiffusion(
double value) { fLongitudinalDiffusion = value; }
98 virtual void SetTransversalDiffusion(
double value) { fTransversalDiffusion = value; }
99 virtual void SetTownsendCoefficient(
double value) { fTownsendCoefficient = value; }
100 virtual void SetAttachmentCoefficient(
double value) { fAttachmentCoefficient = value; }
102 virtual void SetPressure(
double value) { fPressureInAtm = value; }
103 virtual void SetTemperature(
double value) { fTemperatureInK = value; }
105 virtual void UpdateCondition() {}
void PrintMetadata() override
Implemented it in the derived metadata class to print out specific metadata information.
void InitFromConfigFile() override
To make settings from rml file. This method must be implemented in the derived class.
virtual void SetW(double value)
Sets the electric field of the drift volume. Given in V/mm.
void Initialize() override
Making default settings.
virtual Double_t GetDriftVelocity()
Returns the drift velocity in mm/us.
virtual void SetElectricField(double value)
Sets the electric field. Must be given in V/mm.
virtual Double_t GetElectricField() const
Returns the electric field in V/mm.