GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TEagle.h
Go to the documentation of this file.
1#ifndef TEAGLE_H
2#define TEAGLE_H
3
4/** \addtogroup Detectors
5 * @{
6 */
7
8/////////////////////////////////////////////////////////////
9///
10/// \class TEagle
11///
12/// The TEagle class defines the observables and algorithms used
13/// when analyzing EAGLE data. It includes detector positions,
14/// etc.
15///
16/////////////////////////////////////////////////////////////
17
18#include <vector>
19#include <cstdio>
20
21#include "Math/Vector3D.h"
22
23#include "Globals.h"
24#include "TDetector.h"
25#include "TEagleHit.h"
26#include "TPinDiodeHit.h"
27
28class TEagle : public TDetector {
29public:
30 TEagle();
31 ~TEagle() override;
32 TEagle(const TEagle& rhs);
33
34 TEagleHit* GetEagleHit(const int& i) const { return static_cast<TEagleHit*>(GetHit(i)); }
35 TPinDiodeHit* GetPinDiodeHit(const int& i) const;
36#ifndef __CINT__
37 void AddFragment(const std::shared_ptr<const TFragment>&, TChannel*) override; //!<!
38#endif
39 void BuildHits() override {} // no need to build any hits, everything already done in AddFragment
40
41 static ROOT::Math::Polar3DVector GetPosition(int DetNbr) { return gDetectorPosition[DetNbr]; } //!<!
42 static ROOT::Math::Polar3DVector GetPinDiodePosition(int DetNbr) { return gDiodePosition[DetNbr]; } //!<!
43
44 TEagle& operator=(const TEagle&); //!<!
45
46private:
47 static ROOT::Math::Polar3DVector gDetectorPosition[17]; //!<! Position of each detector (plus one default position)
48 static ROOT::Math::Polar3DVector gDiodePosition[49]; //!<! Position of each diode
49
50 std::vector<TPinDiodeHit*> fPinDiodeHits; ///< vector of pin diode hits
51 uint32_t fEventNumber; ///< event number
52 uint16_t fUsTime; ///< time in microseconds
53
54public:
55 void Copy(TObject&) const override; //!<!
56 void Clear(Option_t* opt = "all") override; //!<!
57 void Print(Option_t* opt = "") const override; //!<!
58 void Print(std::ostream& out) const override; //!<!
59
60 /// \cond CLASSIMP
61 ClassDefOverride(TEagle, 1) // Eagle Physics structure
62 /// \endcond
63};
64/*! @} */
65#endif
virtual TDetectorHit * GetHit(const int &index) const
Definition TDetector.cxx:61
uint16_t fUsTime
time in microseconds
Definition TEagle.h:52
void Clear(Option_t *opt="all") override
!
Definition TEagle.cxx:130
std::vector< TPinDiodeHit * > fPinDiodeHits
vector of pin diode hits
Definition TEagle.h:50
TEagle()
Definition TEagle.cxx:89
TEagle & operator=(const TEagle &)
!
Definition TEagle.cxx:112
~TEagle() override
Definition TEagle.cxx:107
void BuildHits() override
!
Definition TEagle.h:39
TPinDiodeHit * GetPinDiodeHit(const int &i) const
Definition TEagle.cxx:158
static ROOT::Math::Polar3DVector gDiodePosition[49]
! Position of each diode
Definition TEagle.h:32
void AddFragment(const std::shared_ptr< const TFragment > &, TChannel *) override
!
Definition TEagle.cxx:139
TEagleHit * GetEagleHit(const int &i) const
Definition TEagle.h:34
static ROOT::Math::Polar3DVector GetPosition(int DetNbr)
!
Definition TEagle.h:41
static ROOT::Math::Polar3DVector GetPinDiodePosition(int DetNbr)
!
Definition TEagle.h:42
uint32_t fEventNumber
event number
Definition TEagle.h:51
static ROOT::Math::Polar3DVector gDetectorPosition[17]
! Position of each detector (plus one default position)
Definition TEagle.h:12
void Copy(TObject &) const override
!
Definition TEagle.cxx:118
void Print(Option_t *opt="") const override
!
Definition TEagle.cxx:168