GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TSceptar.h
Go to the documentation of this file.
1#ifndef TSCEPTAR_H
2#define TSCEPTAR_H
3
4/** \addtogroup Detectors
5 * @{
6 */
7
8/////////////////////////////////////////////////////////////
9///
10/// \class TSceptar
11///
12/// The TSceptar class defines the observables and algorithms used
13/// when analyzing GRIFFIN data. It includes detector positions,
14/// etc.
15///
16/////////////////////////////////////////////////////////////
17
18#include <vector>
19#include <cstdio>
20
21#include "TVector3.h"
22
23#include "Globals.h"
24#include "TDetector.h"
25#include "TSceptarHit.h"
26
27class TSceptar : public TDetector {
28public:
29 TSceptar();
30 TSceptar(const TSceptar& rhs);
31 TSceptar(TSceptar&&) noexcept = default;
32 TSceptar& operator=(const TSceptar&); //!<!
33 TSceptar& operator=(TSceptar&&) noexcept = default;
34 ~TSceptar() override = default;
35
36 TSceptarHit* GetSceptarHit(const int& i) const { return static_cast<TSceptarHit*>(GetHit(i)); }
37#ifndef __CINT__
38 void AddFragment(const std::shared_ptr<const TFragment>&, TChannel*) override; //!<!
39#endif
40 void BuildHits() override {} // no need to build any hits, everything already done in AddFragment
41
42 static TVector3 GetPosition(int DetNbr) { return fPaddlePosition[DetNbr]; } //!<!
43
44 static bool SetWave() { return fSetWave; } //!<!
45
46private:
47 static bool fSetWave; // Flag for Waveforms ON/OFF
48 static std::array<TVector3, 21> fPaddlePosition; //!<! Position of each Paddle
49
50public:
51 void Print(Option_t* opt = "") const override; //!<!
52 void Print(std::ostream& out) const override; //!<!
53
54 /// \cond CLASSIMP
55 ClassDefOverride(TSceptar, 2) // Sceptar Physics structure // NOLINT(readability-else-after-return)
56 /// \endcond
57};
58/*! @} */
59#endif
virtual TDetectorHit * GetHit(const int &index) const
Definition TDetector.cxx:61
TSceptar(TSceptar &&) noexcept=default
TSceptarHit * GetSceptarHit(const int &i) const
Definition TSceptar.h:36
static TVector3 GetPosition(int DetNbr)
!
Definition TSceptar.h:42
static bool SetWave()
!
Definition TSceptar.h:44
static std::array< TVector3, 21 > fPaddlePosition
! Position of each Paddle
Definition TSceptar.h:8
void AddFragment(const std::shared_ptr< const TFragment > &, TChannel *) override
!
Definition TSceptar.cxx:52
void Print(Option_t *opt="") const override
!
Definition TSceptar.cxx:58
void BuildHits() override
!
Definition TSceptar.h:40
static bool fSetWave
Definition TSceptar.h:47