EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4EICForwardEcalDetector.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4EICForwardEcalDetector.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4DETECTORS_PHG4EICFORWARDECALDETECTOR_H
4 #define G4DETECTORS_PHG4EICFORWARDECALDETECTOR_H
5 
7 
8 #include <Geant4/G4String.hh>
9 #include <Geant4/G4Types.hh>
10 
11 #include <map>
12 #include <string>
13 
14 class G4LogicalVolume;
15 class PHCompositeNode;
16 class PHG4Subsystem;
17 class PHParameters;
18 
26 {
27  public:
29  PHG4EICForwardEcalDetector(PHG4Subsystem* subsys, PHCompositeNode* Node, PHParameters* parameters, const std::string& dnam);
30 
33 
35  virtual void ConstructMe(G4LogicalVolume* world) override;
36 
37  void SetTowerDimensions(G4double dx, G4double dy, G4double dz)
38  {
39  _tower_dx = dx;
40  _tower_dy = dy;
41  _tower_dz = dz;
42  }
43 
46 
47  private:
48  G4LogicalVolume* ConstructTower();
49  int PlaceTower(G4LogicalVolume* envelope, G4LogicalVolume* tower);
51 
53  {
54  G4double x;
55  G4double y;
56  G4double z;
57  };
58 
59  std::map<std::string, towerposition> _map_tower;
60 
61  /* ECAL tower geometry */
62  G4double _tower_dx;
63  G4double _tower_dy;
64  G4double _tower_dz;
65 
68 };
69 
70 #endif