ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtPSAComposite.h
Go to the documentation of this file.
1 #ifndef ATPSACOMPOSITE_H
2 #define ATPSACOMPOSITE_H
3 
4 #include "AtPSA.h"
5 
6 #include <memory> // for unique_ptr, make_unique
7 class AtPad;
8 
13 class AtPSAComposite : public AtPSA {
14 private:
15  std::unique_ptr<AtPSA> fBeamPSA;
16  std::unique_ptr<AtPSA> fPSA;
17 
18  double fBeamRadius; //< Beam radius in mm
19 
20 public:
21  AtPSAComposite(std::unique_ptr<AtPSA> beamPSA, std::unique_ptr<AtPSA> PSA, double beamRadius = 40);
23 
24  void Init() override;
25  virtual HitVector AnalyzePad(AtPad *) override;
26  std::unique_ptr<AtPSA> Clone() override { return std::make_unique<AtPSAComposite>(*this); }
27 };
28 
29 #endif // #ifndef ATPSAFISSION_H
AtPSAComposite::AtPSAComposite
AtPSAComposite(std::unique_ptr< AtPSA > beamPSA, std::unique_ptr< AtPSA > PSA, double beamRadius=40)
Definition: AtPSAComposite.cxx:10
AtPSAComposite::AnalyzePad
virtual HitVector AnalyzePad(AtPad *) override
Definition: AtPSAComposite.cxx:25
AtPSAComposite
Uses different PSA methods in/out of beam region.
Definition: AtPSAComposite.h:13
AtPSA::HitVector
std::vector< std::unique_ptr< AtHit > > HitVector
Definition: AtPSA.h:50
AtPSAComposite::Clone
std::unique_ptr< AtPSA > Clone() override
Definition: AtPSAComposite.h:26
AtPSAComposite::Init
void Init() override
Definition: AtPSAComposite.cxx:20
AtPSA.h
AtPad
Container class for AtPadBase objects.
Definition: AtPad.h:38
AtPSA
Definition: AtPSA.h:27