PandaRoot
PndDskCerenkov.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 // -------------------------------------------------------------------------
14 // ----- PndDskCerenkov header file -----
15 // ----- Created 21/03/08 by P. Koch -----
16 // -------------------------------------------------------------------------
17 
18 #ifndef PNDDSKCERENKOV_H
19 #define PNDDSKCERENKOV_H
20 
21 #include "FairMCPoint.h"
22 
23 class PndDskCerenkov : public FairMCPoint {
24 
25  public:
28 
41  PndDskCerenkov(Int_t trackID, Int_t detectorID, TVector3 position, TVector3 momentum, Double_t time, Double_t energy, Double_t wavelength, Int_t motherTrackID,
42  Int_t motherPdgCode, TString motherPdgName);
43 
45  PndDskCerenkov(const PndDskCerenkov &cerenkov);
46 
48  virtual ~PndDskCerenkov();
49 
54  virtual void Print(const Option_t *opt) const;
55 
57  Double_t GetEnergy() const { return fEnergy; }
58  Double_t GetWavelength() const { return fWavelength; }
59  Int_t GetMotherTrackID() const { return fMotherTrackID; }
60  Int_t GetMotherPdgCode() const { return fMotherPdgCode; }
61  TString GetMotherPdgName() const { return fMotherPdgName; }
62  Int_t GetDetNumber() const { return fDetNumber; }
63  Short_t GetDetType() const { return fDetType; }
64  Double_t GetDetTime() const { return fDetTime; }
65  TVector3 GetDetMomentum() const { return fDetMomentum; }
66  Double_t GetPrimaryHitAngle() const { return fPrimaryHitAngle; }
68  Double_t GetNofReflections() const { return fNofReflections; }
69  Double_t GetPWay() const { return fPWay; }
70  TVector3 Get5RefPosition() const { return f5RefPosition; }
71  Double_t GetTotalRefAngle() const { return fTotalRefAngle; }
72  TVector3 GetLastPosition() const { return fLastPos; }
73 
76  void AddPWay(TVector3 pos);
77  void SetFinalValues(Int_t detNumber, Short_t detType, Double_t detTime, TVector3 detMomentum, Double_t length, Double_t primaryHitAngle, Double_t primaryAngleToCerenkov);
78  void Set5RefPosition(TVector3 pos) { f5RefPosition = pos; }
79  void SetTotalRefAngle(Double_t angle) { fTotalRefAngle = angle; }
80 
81  protected:
82  Double_t fEnergy;
83  Double_t fWavelength;
84  Double_t fPWay;
85  TVector3 fLastPos;
86 
89  TString fMotherPdgName;
90 
91  Int_t fDetNumber;
92  Short_t fDetType;
93  Double_t fDetTime;
94  TVector3 fDetMomentum;
95 
97 
98  Double_t fPrimaryHitAngle;
100 
101  TVector3 f5RefPosition;
102  Double_t fTotalRefAngle;
103 
104  ClassDef(PndDskCerenkov, 1)
105 };
106 
107 #endif // PNDDSKCERENKOV_H
void SetFinalValues(Int_t detNumber, Short_t detType, Double_t detTime, TVector3 detMomentum, Double_t length, Double_t primaryHitAngle, Double_t primaryAngleToCerenkov)
TVector3 fDetMomentum
Momentum when detected [eV].
Int_t fNofReflections
Number of total reflections the Cerenkov did in the radiator.
Double_t GetPrimaryAngleToCerenkov() const
virtual ~PndDskCerenkov()
Int_t fDetNumber
Detector number that finally registered the photon.
Double_t fWavelength
Vacuum wavelength hc/energy [nm].
Double_t fPWay
Projected Way [cm].
Double_t GetNofReflections() const
Double_t fPrimaryHitAngle
Angle to the z-Axis when first registered.
Short_t fDetType
Detector type.
TString fMotherPdgName
PDG Name of particle that emitted the Cerenkov.
Double_t fEnergy
Energy of Cerenkov when created [eV].
void Set5RefPosition(TVector3 pos)
Double_t GetEnergy() const
Double_t GetDetTime() const
void AddReflection()
void AddPWay(TVector3 pos)
void SetTotalRefAngle(Double_t angle)
Double_t GetWavelength() const
TVector3 Get5RefPosition() const
Double_t fTotalRefAngle
Total reflection angle.
TVector3 GetLastPosition() const
TVector3 f5RefPosition
Just for debug. Stores position afer 5 refelctions.
Int_t GetDetNumber() const
TVector3 fLastPos
TString GetMotherPdgName() const
Double_t GetTotalRefAngle() const
Double_t fPrimaryAngleToCerenkov
Angle between momentum of eachs first appearance.
Int_t fMotherPdgCode
PDG Code of particle that emitted the Cerenkov.
Int_t GetMotherPdgCode() const
virtual void Print(const Option_t *opt) const
TVector3 GetDetMomentum() const
Double_t fDetTime
Global time when detected [ns].
Double_t GetPrimaryHitAngle() const
Double_t GetPWay() const
Short_t GetDetType() const
Int_t GetMotherTrackID() const
Int_t fMotherTrackID
The Last known position of the Cerenkov - needed to calculate the fPWay.