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
40 {} // no need to build any hits, everything already done in AddFragment
41
42 static ROOT::Math::Polar3DVector GetPosition(int DetNbr) { return gDetectorPosition[DetNbr]; } //!<!
43 static ROOT::Math::Polar3DVector GetPinDiodePosition(int DetNbr) { return gDiodePosition[DetNbr]; } //!<!
44
45 TEagle& operator=(const TEagle&); //!<!
46
47private:
48 static ROOT::Math::Polar3DVector gDetectorPosition[17]; //!<! Position of each detector (plus one default position)
49 static ROOT::Math::Polar3DVector gDiodePosition[49]; //!<! Position of each diode
50
51 std::vector<TPinDiodeHit*> fPinDiodeHits; ///< vector of pin diode hits
52 uint32_t fEventNumber; ///< event number
53 uint16_t fUsTime; ///< time in microseconds
54
55public:
56 void Copy(TObject&) const override; //!<!
57 void Clear(Option_t* opt = "all") override; //!<!
58 void Print(Option_t* opt = "") const override; //!<!
59 void Print(std::ostream& out) const override; //!<!
60
61 /// \cond CLASSIMP
62 ClassDefOverride(TEagle, 1) // Eagle Physics structure
63 /// \endcond
64};
65/*! @} */
66#endif
virtual TDetectorHit * GetHit(const int &index) const
Definition TDetector.cxx:61
uint16_t fUsTime
time in microseconds
Definition TEagle.h:53
void Clear(Option_t *opt="all") override
!
Definition TEagle.cxx:126
std::vector< TPinDiodeHit * > fPinDiodeHits
vector of pin diode hits
Definition TEagle.h:51
TEagle()
Definition TEagle.cxx:85
TEagle & operator=(const TEagle &)
!
Definition TEagle.cxx:108
~TEagle() override
Definition TEagle.cxx:103
void BuildHits() override
!
Definition TEagle.h:39
TPinDiodeHit * GetPinDiodeHit(const int &i) const
Definition TEagle.cxx:154
static ROOT::Math::Polar3DVector gDiodePosition[49]
! Position of each diode
Definition TEagle.h:28
void AddFragment(const std::shared_ptr< const TFragment > &, TChannel *) override
!
Definition TEagle.cxx:135
TEagleHit * GetEagleHit(const int &i) const
Definition TEagle.h:34
static ROOT::Math::Polar3DVector GetPosition(int DetNbr)
!
Definition TEagle.h:42
static ROOT::Math::Polar3DVector GetPinDiodePosition(int DetNbr)
!
Definition TEagle.h:43
uint32_t fEventNumber
event number
Definition TEagle.h:52
static ROOT::Math::Polar3DVector gDetectorPosition[17]
! Position of each detector (plus one default position)
Definition TEagle.h:8
void Copy(TObject &) const override
!
Definition TEagle.cxx:114
void Print(Option_t *opt="") const override
!
Definition TEagle.cxx:164