FairShip
Loading...
Searching...
No Matches
TimeDet.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// SPDX-FileCopyrightText: Copyright CERN for the benefit of the SHiP
3// Collaboration
4
5#ifndef TIMEDET_TIMEDET_H_
6#define TIMEDET_TIMEDET_H_
7
8#include <map>
9#include <vector>
10
11#include "Detector.h"
12#include "TLorentzVector.h"
13#include "TVector3.h"
14
15class TimeDetPoint;
16class FairVolume;
17class TClonesArray;
18
19class TimeDet : public SHiP::Detector<TimeDetPoint> {
20 public:
25 TimeDet(const char* Name, Bool_t Active);
26
28 TimeDet();
29
33 Bool_t ProcessHits(FairVolume* v = 0) override;
34
36 void SetZposition(Double_t z) { fzPos = z; }
37 void SetBarZspacing(Double_t row, Double_t column) {
38 fdzBarRow = row;
39 fdzBarCol = column;
40 }
41 void SetBarZ(Double_t dz) { fzBar = dz; }
42 void SetSizeX(Double_t x) { fxSize = x; }
43 void SetSizeY(Double_t y) { fySize = y; }
44
45 double GetXCol(int ic) const;
46 double GetYRow(int ir) const;
47 void GetBarRowCol(int ib, int& irow, int& icol) const;
48 double GetZBar(int ir, int ic) const;
49
51 void ConstructGeometry() override;
52
53 private:
55 Double_t fzPos;
56
57 Double_t fxSize;
58 Double_t fySize;
59
60 Double_t fxBar;
61 Double_t fyBar;
62 Double_t fzBar;
63
64 Double_t fdzBarCol;
65 Double_t fdzBarRow;
66
67 Int_t fNCol;
68 Int_t fNRow;
69
70 Double_t fxCenter;
71 Double_t fyCenter;
72
73 Int_t fNBars;
74 Double_t fxOv;
75 Double_t fyOv;
76
77 TimeDet(const TimeDet&) = delete;
78 TimeDet& operator=(const TimeDet&) = delete;
79
80 ClassDefOverride(TimeDet, 5)
81};
82
83#endif // TIMEDET_TIMEDET_H_
Double_t fxSize
z-position of veto station
Definition: TimeDet.h:57
Double_t fxBar
height of the detector
Definition: TimeDet.h:60
Double_t fyOv
Overlap along x.
Definition: TimeDet.h:75
Double_t fxCenter
Number of rows.
Definition: TimeDet.h:70
void GetBarRowCol(int ib, int &irow, int &icol) const
Definition: TimeDet.cxx:188
double GetXCol(int ic) const
Definition: TimeDet.cxx:194
Int_t fNRow
Number of columns.
Definition: TimeDet.h:68
TimeDet & operator=(const TimeDet &)=delete
Int_t fNBars
y-position of the detector center
Definition: TimeDet.h:73
void SetZposition(Double_t z)
Definition: TimeDet.h:36
Double_t fdzBarRow
z-distance between columns
Definition: TimeDet.h:65
Double_t fySize
width of the detector
Definition: TimeDet.h:58
Double_t fyBar
length of the bar
Definition: TimeDet.h:61
TimeDet(const TimeDet &)=delete
Overlap along y.
Bool_t ProcessHits(FairVolume *v=0) override
Definition: TimeDet.cxx:93
Double_t fzPos
Definition: TimeDet.h:55
void SetSizeY(Double_t y)
Definition: TimeDet.h:43
Double_t fyCenter
x-position of the detector center
Definition: TimeDet.h:71
void SetBarZ(Double_t dz)
Definition: TimeDet.h:41
Double_t fzBar
width of the bar
Definition: TimeDet.h:62
Int_t fNCol
z-distance between rows
Definition: TimeDet.h:67
void ConstructGeometry() override
Definition: TimeDet.cxx:151
Double_t fdzBarCol
depth of the bar
Definition: TimeDet.h:64
double GetZBar(int ir, int ic) const
Definition: TimeDet.cxx:206
void SetSizeX(Double_t x)
Definition: TimeDet.h:42
void SetBarZspacing(Double_t row, Double_t column)
Definition: TimeDet.h:37
TimeDet()
Definition: TimeDet.cxx:42
Double_t fxOv
Number of bars.
Definition: TimeDet.h:74
double GetYRow(int ir) const
Definition: TimeDet.cxx:200