ATLAS Offline Software
AGDDPgon.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef AGDDPgon_H
6 #define AGDDPgon_H
7 
9 #include <string>
10 #include <vector>
11 #include <iostream>
12 
13 class AGDDPgon: public AGDDVolume {
14 public:
15  AGDDPgon(const std::string& s,
16  AGDDVolumeStore& vs,
18  : AGDDVolume(s,vs,ss),m_phi0(0),m_dphi(0),m_nbPhi(0) {}
19  void SetPlane(double ri,double ro,double z)
20  {
21  m_rin.push_back(ri);
22  m_rou.push_back(ro);
23  m_z.push_back(z);
24  }
25  void SetProfile(double phi0,double dphi) {m_phi0=phi0;m_dphi=dphi;}
26  void SetNbPhi(int i) {m_nbPhi=i;}
27  int NrOfPlanes() const {return m_rin.size();}
28  double Rin(int i) const {return m_rin[i];}
29  double Rout(int i) const {return m_rou[i];}
30  double Z(int i) const {return m_z[i];}
31  double Phi0() const {return m_phi0;}
32  double Dphi() const {return m_dphi;}
33  virtual void CreateVolume (AGDDBuilder& builder) override;
34  virtual void CreateSolid (const AGDDBuilder& builder) override;
35  std::vector<double> m_rin;
36  std::vector<double> m_rou;
37  std::vector<double> m_z;
38 
39  double m_phi0;
40  double m_dphi;
41  int m_nbPhi;
42 };
43 
44 #endif
AGDDPgon::SetNbPhi
void SetNbPhi(int i)
Definition: AGDDPgon.h:26
AGDDPgon::Rin
double Rin(int i) const
Definition: AGDDPgon.h:28
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
PowhegControl_ttHplus_NLO.ss
ss
Definition: PowhegControl_ttHplus_NLO.py:83
AGDDPgon::m_z
std::vector< double > m_z
Definition: AGDDPgon.h:37
AGDDPgon::m_rou
std::vector< double > m_rou
Definition: AGDDPgon.h:36
AGDDVolumeStore
Definition: AGDDVolumeStore.h:15
InDetAccessor::phi0
@ phi0
Definition: InDetAccessor.h:33
AGDDPgon::NrOfPlanes
int NrOfPlanes() const
Definition: AGDDPgon.h:27
AGDDPgon::CreateVolume
virtual void CreateVolume(AGDDBuilder &builder) override
Definition: AGDDPgon.cxx:14
AGDDPgon::m_dphi
double m_dphi
Definition: AGDDPgon.h:40
AGDDPgon::Rout
double Rout(int i) const
Definition: AGDDPgon.h:29
AGDDSectionStore
Definition: AGDDSectionStore.h:15
AGDDBuilder
Definition: AGDDBuilder.h:31
AGDDPgon::m_phi0
double m_phi0
Definition: AGDDPgon.h:39
lumiFormat.i
int i
Definition: lumiFormat.py:85
z
#define z
createSimpleDistributions.builder
builder
Definition: createSimpleDistributions.py:52
AGDDPgon::Z
double Z(int i) const
Definition: AGDDPgon.h:30
AGDDPgon::SetProfile
void SetProfile(double phi0, double dphi)
Definition: AGDDPgon.h:25
AGDDPgon::m_nbPhi
int m_nbPhi
Definition: AGDDPgon.h:41
AGDDPgon::CreateSolid
virtual void CreateSolid(const AGDDBuilder &builder) override
Definition: AGDDPgon.cxx:9
AGDDPgon::AGDDPgon
AGDDPgon(const std::string &s, AGDDVolumeStore &vs, AGDDSectionStore &ss)
Definition: AGDDPgon.h:15
AGDDPgon::Dphi
double Dphi() const
Definition: AGDDPgon.h:32
AGDDPgon::Phi0
double Phi0() const
Definition: AGDDPgon.h:31
AGDDPgon::m_rin
std::vector< double > m_rin
Definition: AGDDPgon.h:35
AGDDVolume
Definition: AGDDVolume.h:16
AGDDVolume.h
AGDDPgon::SetPlane
void SetPlane(double ri, double ro, double z)
Definition: AGDDPgon.h:19
AGDDPgon
Definition: AGDDPgon.h:13