GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TSceptarHit.h
Go to the documentation of this file.
1#ifndef SCEPTARHIT_H
2#define SCEPTARHIT_H
3
4/** \addtogroup Detectors
5 * @{
6 */
7
8/////////////////////////////////////////////////////////////////
9///
10/// \class TSceptarHit
11///
12/// This is class that contains the information about a sceptar
13/// hit. This class is used to find energy, time, etc.
14///
15/////////////////////////////////////////////////////////////////
16
17#include <cstdio>
18#include <cmath>
19#include <vector>
20
21#include "TFragment.h"
22#include "TChannel.h"
23
24#include "TVector3.h"
25
26#include "TDetectorHit.h"
27
28class TSceptarHit : public TDetectorHit {
29public:
32 TSceptarHit(TSceptarHit&&) noexcept = default;
33 TSceptarHit& operator=(const TSceptarHit&) = default;
34 TSceptarHit& operator=(TSceptarHit&&) noexcept = default;
35 explicit TSceptarHit(const TFragment& frag);
36 ~TSceptarHit() override = default;
37
38 ///////////////////////// /////////////////////////////////////
39 inline void SetFilterPattern(const int& x) { fFilter = x; } //!<!
40
41 ///////////////////////// /////////////////////////////////////
42 inline Int_t GetFilterPattern() const { return fFilter; } //!<!
43
44 Int_t CalculateCfd(double attenuation, unsigned int delay, int halfsmoothingwindow,
45 unsigned int interpolationSteps); //!<!
46 Int_t CalculateCfdAndMonitor(double attenuation, unsigned int delay, int halfsmoothingwindow,
47 unsigned int interpolationSteps, std::vector<Short_t>& monitor); //!<!
48 std::vector<Short_t> CalculateCfdMonitor(double attenuation, int delay, int halfsmoothingwindow); //!<!
49 std::vector<Short_t> CalculateSmoothedWaveform(unsigned int halfsmoothingwindow); //!<!
50
51 bool InFilter(Int_t); //!<!
52
53 bool AnalyzeWaveform(); //!<!
54 TVector3 GetPosition(Double_t dist) const override; //!<!
55 TVector3 GetPosition() const override; //!<!
56
57 void Clear(Option_t* opt = "") override; //!<!
58 void Print(Option_t* opt = "") const override; //!<!
59 void Print(std::ostream& out) const override; //!<!
60 void Copy(TObject&) const override; //!<!
61 void Copy(TObject&, bool) const override; //!<!
62
63private:
64 Int_t fFilter{0};
65
66 Double_t GetDefaultDistance() const { return 0.0; }
67
68 /// \cond CLASSIMP
69 ClassDefOverride(TSceptarHit, 4) // Stores the information for a SceptarHit // NOLINT(readability-else-after-return)
70 /// \endcond
71};
72/*! @} */
73#endif
Double_t GetDefaultDistance() const
Definition TSceptarHit.h:66
Int_t CalculateCfdAndMonitor(double attenuation, unsigned int delay, int halfsmoothingwindow, unsigned int interpolationSteps, std::vector< Short_t > &monitor)
!
void Print(Option_t *opt="") const override
!
TSceptarHit(TSceptarHit &&) noexcept=default
bool InFilter(Int_t)
!
Int_t fFilter
Definition TSceptarHit.h:64
void Clear(Option_t *opt="") override
!
std::vector< Short_t > CalculateSmoothedWaveform(unsigned int halfsmoothingwindow)
!
Int_t GetFilterPattern() const
!
Definition TSceptarHit.h:42
void Copy(TObject &) const override
!
Int_t CalculateCfd(double attenuation, unsigned int delay, int halfsmoothingwindow, unsigned int interpolationSteps)
!
TVector3 GetPosition() const override
!
bool AnalyzeWaveform()
!
void SetFilterPattern(const int &x)
!
Definition TSceptarHit.h:39
std::vector< Short_t > CalculateCfdMonitor(double attenuation, int delay, int halfsmoothingwindow)
!