Revision 54807d9b7051c0e88d7074c9d2205bbd884e0210 authored by Axel Naumann on 12 April 2022, 16:24:02 UTC, committed by Axel Naumann on 12 April 2022, 16:24:02 UTC
1 parent c67b5e1
MyDetector.h
// Author: Bertrand Bellenot 22/08/02
/*************************************************************************
* Copyright (C) 1995-2002, Bertrand Bellenot. *
* All rights reserved. *
* *
* For the licensing terms see the LICENSE file. *
*************************************************************************/
//////////////////////////////////////////////////////////////////////////
// //
// MyDetector //
// defines a simple detector class with one geometry, one material //
// and the physical properties of the detector's material //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef MYDETECTOR_H
#define MYDETECTOR_H
#include "constants.h"
#include "TObject.h"
#include "TObjArray.h"
#include "TGeoManager.h"
#include "TGeoMaterial.h"
#include "TGeoMedium.h"
#include "TGeoVolume.h"
#include "TGeoMatrix.h"
class MyDetector : public TObject {
private:
Double_t fMinX,fMinY,fMinZ; // Detector min. boundaries
Double_t fMaxX,fMaxY,fMaxZ; // Detector max. boundaries
Double_t fDimX,fDimY,fDimZ; // Detector dimensions
Double_t fI[6]; // Ionisation constant for current material (in MeV/cm)
Double_t fPreconst[6]; // First factor in the Bethe-Bloch equation for current material (in MeV/cm)
Double_t fEc[6]; // Critical Energy for current material (in MeV)
Double_t fX0[6]; // Radiation Length for current material (in cm)
Double_t fdT[6]; // Time step dT for current material (in ms - about 0.015 times X_0/c)
Double_t fTheta0[6]; // Scatter angle for current material
Double_t fTotalELoss; // Total Energy loss by particles into the detector
public:
MyDetector();
virtual ~MyDetector();
void Init();
Double_t GetI(Int_t idx) { return fI[idx]; }
Double_t GetPreconst(Int_t idx) { return fPreconst[idx]; }
Double_t GetEc(Int_t idx) { return fEc[idx]; }
Double_t GetX0(Int_t idx) { return fX0[idx]; }
Double_t GetdT(Int_t idx) { return fdT[idx]; }
Double_t GetTheta0(Int_t idx) { return fTheta0[idx]; }
Double_t GetDimX() { return fDimX; }
Double_t GetDimY() { return fDimY; }
Double_t GetDimZ() { return fDimZ; }
Double_t GetMaxX() { return fMaxX; }
Double_t GetMaxY() { return fMaxY; }
Double_t GetMaxZ() { return fMaxZ; }
Double_t GetMinX() { return fMinX; }
Double_t GetMinY() { return fMinY; }
Double_t GetMinZ() { return fMinZ; }
Double_t GetTotalELoss() { return fTotalELoss; }
void GetDimensions(Double_t *dimx, Double_t *dimy, Double_t *dimz)
{ *dimx = fDimX; *dimy = fDimY; *dimz = fDimZ; }
TGeoManager *GetGeoManager() { return gGeoManager; }
void SetI(Int_t idx, Double_t val) { fI[idx] = val; }
void SetPreconst(Int_t idx, Double_t val) { fPreconst[idx] = val; }
void SetEc(Int_t idx, Double_t val) { fEc[idx] = val; }
void SetX0(Int_t idx, Double_t val) { fX0[idx] = val; }
void SetdT(Int_t idx, Double_t val) { fdT[idx] = val; }
void SetTheta0(Int_t idx, Double_t val) { fTheta0[idx] = val; }
void AddELoss(Double_t val) { fTotalELoss += val; }
void ClearELoss() { fTotalELoss = 0.0; }
ClassDef(MyDetector,1) // Detector structure
};
#endif // MYDETECTOR_H
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...