PandaRoot
PndGeoDskFLG.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 // ----- PndGeoDskFLG header file -----
15 // ----- Created 29/04/10 by Y. Liang -----
16 // -------------------------------------------------------------------------
17 
18 #ifndef PNDGEODSKFLG_H
19 #define PNDGEODSKFLG_H
20 
21 #include "FairGeoSet.h"
22 #include "TVector3.h"
23 
24 class PndGeoDskFLG : public FairGeoSet {
25 
26  private:
27  double fRadius;
28  Double_t fPosition_plate; // position of plate, fix me. need to retrieve from geo in future
29  Double_t fThickness_plate; // mm, fix me. need to retrieve from geo in future
30  Int_t fNumber_focusing_part; // 128 focusing parts, fix me.
31  Double_t fReflectThreshold;
32 
33  Double_t a0; // curve function
34  Double_t a1;
35  Double_t a2;
36  Double_t a3;
37  Double_t a4;
38  Double_t a5;
39 
40  int fVerbose;
41 
42  protected:
43  public:
44  PndGeoDskFLG();
46 
47  void Propagate(TVector3 pos, TVector3 dir, Int_t &i_FLG, Int_t &i_Pixel);
48  void LineCylinderInteraction(TVector3 pos, TVector3 dir, TVector3 &pos_interaction);
49  Bool_t CurveFunction(TVector3 Point);
50  Double_t SlopeCurveFunction(TVector3 Point);
51  Bool_t LineFunction(TVector3 Point);
52 
53  Double_t radius() { return fRadius; }
54  Double_t thickness() { return fThickness_plate; }
55  Double_t postion_plate() { return fPosition_plate; }
56  Double_t reflect_threshold() { return fReflectThreshold; }
57 
58  ClassDef(PndGeoDskFLG, 0) // Class for Dsk
59 };
60 
61 #endif
Double_t thickness()
Definition: PndGeoDskFLG.h:54
Double_t reflect_threshold()
Definition: PndGeoDskFLG.h:56
void LineCylinderInteraction(TVector3 pos, TVector3 dir, TVector3 &pos_interaction)
Double_t SlopeCurveFunction(TVector3 Point)
Double_t radius()
Definition: PndGeoDskFLG.h:53
Double_t postion_plate()
Definition: PndGeoDskFLG.h:55
Bool_t LineFunction(TVector3 Point)
Bool_t CurveFunction(TVector3 Point)
void Propagate(TVector3 pos, TVector3 dir, Int_t &i_FLG, Int_t &i_Pixel)