GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TDemand.h
Go to the documentation of this file.
1#ifndef TDEMAND_H
2#define TDEMAND_H
3
4/** \addtogroup Detectors
5 * @{
6 */
7
8#include <vector>
9#include <cstdio>
10
11#include "TBits.h"
12#include "Math/Vector3D.h"
13
14#include "Globals.h"
15#include "TDetector.h"
16#include "TDemandHit.h"
17
18class TDemand : public TDetector {
19public:
20 TDemand();
21 TDemand(const TDemand&);
22 TDemand(TDemand&&) noexcept = default;
23 TDemand& operator=(const TDemand&); //!<!
24 TDemand& operator=(TDemand&&) noexcept = default;
25 ~TDemand() override = default;
26
27 TDemandHit* GetDemandHit(const int& i) const { return static_cast<TDemandHit*>(GetHit(i)); }
28 static TVector3 GetPosition(int DetNbr); //!<!
29 static TVector3 GetPosition(const TDemandHit&); //!<!
30
31#ifndef __CINT__
32 void AddFragment(const std::shared_ptr<const TFragment>&, TChannel*) override;
33#endif
34 void BuildHits() override {} // no need to build any hits, everything already done in AddFragment
35
36private:
37 static bool fSetCoreWave; //!<! Flag for Waveforms ON/OFF
38
39 //physical information
40 static const std::array<double, 6> fXPositions; //!
41 static const std::array<double, 6> fYPositions; //!
42 static const std::array<double, 6> fZPositions; //!
43
44public:
45 static bool SetCoreWave() { return fSetCoreWave; } //!<!
46
47 void Copy(TObject&) const override; //!<!
48 void Print(Option_t* opt = "") const override; //!<!
49 void Print(std::ostream& out) const override; //!<!
50
51 /// \cond CLASSIMP
52 ClassDefOverride(TDemand, 4) // Demand Physics structure // NOLINT(readability-else-after-return)
53 /// \endcond
54};
55/*! @} */
56#endif
void BuildHits() override
!
Definition TDemand.h:34
static const std::array< double, 6 > fYPositions
Definition TDemand.h:23
TDemand()
Definition TDemand.cxx:26
static TVector3 GetPosition(int DetNbr)
!
Definition TDemand.cxx:71
void Print(Option_t *opt="") const override
!
Definition TDemand.cxx:41
void Copy(TObject &) const override
!
Definition TDemand.cxx:36
static bool fSetCoreWave
! Flag for Waveforms ON/OFF
Definition TDemand.h:37
void AddFragment(const std::shared_ptr< const TFragment > &, TChannel *) override
!
Definition TDemand.cxx:60
static const std::array< double, 6 > fZPositions
Definition TDemand.h:24
TDemandHit * GetDemandHit(const int &i) const
Definition TDemand.h:27
static const std::array< double, 6 > fXPositions
Definition TDemand.h:22
static bool SetCoreWave()
!
Definition TDemand.h:45
virtual TDetectorHit * GetHit(const int &index) const
Definition TDetector.cxx:61