FairShip
Loading...
Searching...
No Matches
SiliconTargetHit Class Reference

#include <SiliconTargetHit.h>

Inheritance diagram for SiliconTargetHit:
Collaboration diagram for SiliconTargetHit:

Public Member Functions

 SiliconTargetHit ()
 
 SiliconTargetHit (Int_t detID, const std::vector< SiliconTargetPoint * > &)
 
 ~SiliconTargetHit () override=default
 
 SiliconTargetHit (const SiliconTargetHit &hit)=default
 
SiliconTargetHitoperator= (const SiliconTargetHit &hit)=default
 
void Print () const
 
Float_t GetSignal () const
 
Double_t GetX () const
 
Double_t GetY () const
 
Double_t GetZ () const
 
constexpr int GetLayer () const
 
constexpr int GetPlane () const
 
constexpr int GetColumn () const
 
constexpr int GetRow () const
 
constexpr int GetStrip () const
 
constexpr int GetModule () const
 
bool isValid () const
 
- Public Member Functions inherited from SHiP::DetectorHit
 DetectorHit ()
 
 DetectorHit (Int_t detID, Float_t digi)
 
 ~DetectorHit () override=default
 
Double_t GetDigi () const
 
Int_t GetDetectorID () const
 
void SetDigi (Float_t d)
 
void SetDetectorID (Int_t detID)
 
void Print (const Option_t *opt="") const override
 

Private Member Functions

 ClassDef (SiliconTargetHit, 2)
 

Private Attributes

Float_t fSignal {0.f}
 
Double_t fX {0.}
 
Double_t fY {0.}
 
Double_t fZ {0.}
 
Bool_t flag {true}
 

Additional Inherited Members

- Protected Member Functions inherited from SHiP::DetectorHit
 ClassDefOverride (SHiP::DetectorHit, 1)
 
- Protected Attributes inherited from SHiP::DetectorHit
Float_t fdigi
 digitized detector hit
 
Int_t fDetectorID
 Detector unique identifier.
 

Detailed Description

Definition at line 13 of file SiliconTargetHit.h.

Constructor & Destructor Documentation

◆ SiliconTargetHit() [1/3]

SiliconTargetHit::SiliconTargetHit ( )

Default constructor

Definition at line 18 of file SiliconTargetHit.cxx.

◆ SiliconTargetHit() [2/3]

SiliconTargetHit::SiliconTargetHit ( Int_t  detID,
const std::vector< SiliconTargetPoint * > &  V 
)

Definition at line 20 of file SiliconTargetHit.cxx.

22 : SHiP::DetectorHit(detID, 0.f) {
23 if (V.empty()) {
24 LOG(error) << "SiliconTargetHit constructor called with empty point vector";
25 return;
26 }
27
28 double totalSig = 0;
29 for (auto* point : V) {
30 totalSig += point->GetEnergyLoss();
31 fX = point->GetX();
32 fY = point->GetY();
33 fZ = point->GetZ();
34 }
35
36 fSignal = totalSig;
37}

◆ ~SiliconTargetHit()

SiliconTargetHit::~SiliconTargetHit ( )
overridedefault

Destructor

◆ SiliconTargetHit() [3/3]

SiliconTargetHit::SiliconTargetHit ( const SiliconTargetHit hit)
default

Copy constructor

Member Function Documentation

◆ ClassDef()

SiliconTargetHit::ClassDef ( SiliconTargetHit  ,
 
)
private

◆ GetColumn()

constexpr int SiliconTargetHit::GetColumn ( ) const
inlineconstexpr

Definition at line 43 of file SiliconTargetHit.h.

43 {
44 return (static_cast<unsigned>(fDetectorID) >> 14) % 4;
45 }
Int_t fDetectorID
Detector unique identifier.
Definition: DetectorHit.h:40

◆ GetLayer()

constexpr int SiliconTargetHit::GetLayer ( ) const
inlineconstexpr

Definition at line 37 of file SiliconTargetHit.h.

37 {
38 return static_cast<unsigned>(fDetectorID) >> 17;
39 }

◆ GetModule()

constexpr int SiliconTargetHit::GetModule ( ) const
inlineconstexpr

Definition at line 52 of file SiliconTargetHit.h.

52{ return GetRow() + 1 + 2 * GetColumn(); }
constexpr int GetRow() const
constexpr int GetColumn() const

◆ GetPlane()

constexpr int SiliconTargetHit::GetPlane ( ) const
inlineconstexpr

Definition at line 40 of file SiliconTargetHit.h.

40 {
41 return (static_cast<unsigned>(fDetectorID) >> 16) % 2;
42 } // 0 is X-plane, 1 is Y-pane

◆ GetRow()

constexpr int SiliconTargetHit::GetRow ( ) const
inlineconstexpr

Definition at line 46 of file SiliconTargetHit.h.

46 {
47 return (static_cast<unsigned>(fDetectorID) >> 13) % 2;
48 }

◆ GetSignal()

Float_t SiliconTargetHit::GetSignal ( ) const
inline

Definition at line 32 of file SiliconTargetHit.h.

32{ return fSignal; };

◆ GetStrip()

constexpr int SiliconTargetHit::GetStrip ( ) const
inlineconstexpr

Definition at line 49 of file SiliconTargetHit.h.

49 {
50 return static_cast<unsigned>(fDetectorID) % 4096;
51 }

◆ GetX()

Double_t SiliconTargetHit::GetX ( ) const
inline

Definition at line 33 of file SiliconTargetHit.h.

33{ return fX; }

◆ GetY()

Double_t SiliconTargetHit::GetY ( ) const
inline

Definition at line 34 of file SiliconTargetHit.h.

34{ return fY; }

◆ GetZ()

Double_t SiliconTargetHit::GetZ ( ) const
inline

Definition at line 35 of file SiliconTargetHit.h.

35{ return fZ; }

◆ isValid()

bool SiliconTargetHit::isValid ( ) const
inline

Definition at line 54 of file SiliconTargetHit.h.

54{ return flag; }

◆ operator=()

SiliconTargetHit & SiliconTargetHit::operator= ( const SiliconTargetHit hit)
default

◆ Print()

void SiliconTargetHit::Print ( ) const

Definition at line 39 of file SiliconTargetHit.cxx.

39 {
40 std::cout << Form(
41 "SiliconTargetHit: Detector ID %d, Layer %d, Plane %d, Module %d, Strip "
42 "%d, Signal %.2f \n",
44 GetSignal());
45}
constexpr int GetModule() const
constexpr int GetLayer() const
Float_t GetSignal() const
constexpr int GetStrip() const
constexpr int GetPlane() const

Member Data Documentation

◆ flag

Bool_t SiliconTargetHit::flag {true}
private

Definition at line 61 of file SiliconTargetHit.h.

◆ fSignal

Float_t SiliconTargetHit::fSignal {0.f}
private

Definition at line 57 of file SiliconTargetHit.h.

◆ fX

Double_t SiliconTargetHit::fX {0.}
private

Definition at line 58 of file SiliconTargetHit.h.

◆ fY

Double_t SiliconTargetHit::fY {0.}
private

Definition at line 59 of file SiliconTargetHit.h.

◆ fZ

Double_t SiliconTargetHit::fZ {0.}
private

Definition at line 60 of file SiliconTargetHit.h.


The documentation for this class was generated from the following files: