GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TEmma.h
Go to the documentation of this file.
1#ifndef TEMMA_H
2#define TEMMA_H
3
4/** \addtogroup Detectors
5 * @{
6 */
7
8#include <vector>
9#include <cstdio>
10
11#include "TBits.h"
12#include "TVector3.h"
13
14#include "Globals.h"
15#include "TDetector.h"
16#include "TEmmaHit.h"
17#include "TChannel.h"
18
19class TEmma : public TDetector {
20public:
21 TEmma();
22 TEmma(const TEmma&);
23 TEmma(TEmma&&) noexcept = default;
24 TEmma& operator=(const TEmma&); //!<!
25 TEmma& operator=(TEmma&&) noexcept = default;
26 ~TEmma() override = default;
27
28 TEmmaHit* GetEmmaHit(const int& i) const { return static_cast<TEmmaHit*>(GetHit(i)); }
29 TEmmaHit* GetICHit(const int& i);
30 TEmmaHit* GetAnodeHit(const int& i);
31 TEmmaHit* GetTdcHit(const int& i);
32 TEmmaHit* GetSiHit(const int& i);
33 TEmmaHit* GetSSBHit(const int& i);
34 TEmmaHit* GetTriggerHit(const int& i);
35
36#ifndef __CINT__
37 void AddFragment(const std::shared_ptr<const TFragment>&, TChannel*) override;
38#endif
39 void BuildHits() override;
40
41 Short_t GetICMultiplicity() const { return fEmmaICHits.size(); }
42 Short_t GetAnodeMultiplicity() const { return fEmmaAnodeHits.size(); }
43 Short_t GetTdcMultiplicity() const { return fEmmaTdcHits.size(); }
44 Short_t GetSiMultiplicity() const { return fEmmaSiHits.size(); }
45 Short_t GetSSBMultiplicity() const { return fEmmaSSBHits.size(); }
46 Short_t GetTriggerMultiplicity() const { return fEmmaTriggerHits.size(); }
47
48 // static TVector3 GetPosition(double delayL, double delayR, double delayT, double delayB); //!<!
49 static TVector3 GetPosition(double left, double right, double top, double bottom, double delayL, double delayR, double delayT, double delayB);
50
51private:
52 std::vector<TEmmaHit> fEmmaICHits;
53 std::vector<TEmmaHit> fEmmaAnodeHits;
54 std::vector<TEmmaHit> fEmmaTdcHits;
55 std::vector<TEmmaHit> fEmmaSiHits;
56 std::vector<TEmmaHit> fEmmaSSBHits;
57 std::vector<TEmmaHit> fEmmaTriggerHits;
58
59 static double fAnodeTrigger; //!<!
60 static double fICEnergy; //!<!
61 static double fXdiff;
62 static double fXsum;
63 static double fYdiff;
64 static double fYsum;
65 static double fXlength;
66 static double fYlength;
67 static int16_t fFail;
68
69public:
70 void Copy(TObject&) const override; //!<!
71 void Clear(Option_t* opt = "all") override; //!<!
72 void Print(Option_t* opt = "") const override; //!<!
73 void Print(std::ostream& out) const override; //!<!
74
75 /// \cond CLASSIMP
76 ClassDefOverride(TEmma, 4) // Emma Physics structure // NOLINT(readability-else-after-return)
77 /// \endcond
78};
79/*! @} */
80#endif
virtual TDetectorHit * GetHit(const int &index) const
Definition TDetector.cxx:61
Definition TEmma.h:19
std::vector< TEmmaHit > fEmmaAnodeHits
Definition TEmma.h:53
void Print(Option_t *opt="") const override
!
Definition TEmma.cxx:47
Short_t GetICMultiplicity() const
Definition TEmma.h:41
std::vector< TEmmaHit > fEmmaSSBHits
Definition TEmma.h:56
void AddFragment(const std::shared_ptr< const TFragment > &, TChannel *) override
!
Definition TEmma.cxx:66
static double fXlength
Definition TEmma.h:65
std::vector< TEmmaHit > fEmmaTriggerHits
Definition TEmma.h:57
Short_t GetTriggerMultiplicity() const
Definition TEmma.h:46
static int16_t fFail
Definition TEmma.h:67
TEmmaHit * GetTdcHit(const int &i)
Definition TEmma.cxx:157
TEmmaHit * GetSiHit(const int &i)
Definition TEmma.cxx:167
static double fXdiff
Definition TEmma.h:61
Short_t GetAnodeMultiplicity() const
Definition TEmma.h:42
void BuildHits() override
!
Definition TEmma.cxx:197
Short_t GetTdcMultiplicity() const
Definition TEmma.h:43
static double fYsum
Definition TEmma.h:64
void Clear(Option_t *opt="all") override
!
Definition TEmma.cxx:241
Short_t GetSSBMultiplicity() const
Definition TEmma.h:45
TEmmaHit * GetSSBHit(const int &i)
Definition TEmma.cxx:187
TEmmaHit * GetEmmaHit(const int &i) const
Definition TEmma.h:28
static double fYdiff
Definition TEmma.h:63
static double fXsum
Definition TEmma.h:62
void Copy(TObject &) const override
!
Definition TEmma.cxx:36
Short_t GetSiMultiplicity() const
Definition TEmma.h:44
static double fICEnergy
!
Definition TEmma.h:60
TEmmaHit * GetAnodeHit(const int &i)
Definition TEmma.cxx:147
TEmmaHit * GetTriggerHit(const int &i)
Definition TEmma.cxx:177
static double fAnodeTrigger
!
Definition TEmma.h:59
TEmma(TEmma &&) noexcept=default
TEmma()
Definition TEmma.cxx:26
std::vector< TEmmaHit > fEmmaTdcHits
Definition TEmma.h:54
std::vector< TEmmaHit > fEmmaICHits
Definition TEmma.h:52
static TVector3 GetPosition(double left, double right, double top, double bottom, double delayL, double delayR, double delayT, double delayB)
Definition TEmma.cxx:123
static double fYlength
Definition TEmma.h:66
TEmmaHit * GetICHit(const int &i)
Definition TEmma.cxx:137
std::vector< TEmmaHit > fEmmaSiHits
Definition TEmma.h:55