Belle II Software  release-08-01-10
GeoARICHBtestCreator.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #ifndef GEOARICHBTESTCREATOR_H
10 #define GEOARICHBTESTCREATOR_H
11 
12 
13 #include <geometry/CreatorBase.h>
14 #include <framework/gearbox/GearDir.h>
15 
16 class G4LogicalVolume;
17 class G4Material;
18 namespace Belle2 {
23  namespace arich {
24 
25  class SensitiveDetector;
26  class SensitiveAero;
27 
28 
29 
30 
33 
34  public:
35 
38 
41 
43  virtual ~GeoARICHBtestCreator();
44 
47 
55  virtual void create(const GearDir& content, G4LogicalVolume& topVolume, geometry::GeometryTypes type);
56 
57  protected:
59  void createBtestGeometry(const GearDir& content, G4LogicalVolume& topVolume);
60 
62  G4LogicalVolume* buildModule(GearDir Module);
63 
65  double getAvgRINDEX(G4Material* material);
70 
71  //int isBeamBkgStudy;
73  G4Material* createAerogel(const char* aeroname, double rind, double trl);
74  private:
76  int m_runno ;
78  std::string m_author;
80  int m_neve;
82  std::string m_runtype;
84  std::string m_hapdID;
86  std::string m_aerogelID;
88  std::string m_mirrorID;
90  double m_rotation;
92  double m_rx;
94  double m_ry;
96  std::string m_mytype;
98  std::string m_daqqa;
100  std::string m_comment;
102  std::string m_datum;
103 
107  double m_aerogeldx;
109  double m_framedx;
111  double m_rotation1;
115  std::string m_comment1;
116 
118  std::vector<double> m_agelrefind;
120  std::vector<double> m_agelthickness;
122  std::vector<double> m_ageltrlen;
123  };
124 
125  }
127 }
128 
129 #endif /* GEOARICHBTESTCREATOR_H */
GearDir is the basic class used for accessing the parameter store.
Definition: GearDir.h:31
Base class for Modules.
Definition: Module.h:72
The creator for the PXD geometry of the Belle II detector.
std::string m_comment
comment in the runlog
int m_aerosupport
Type of aerogel support - not used at the moment.
std::string m_aerogelID
ID of the aerogel configuration setup.
double m_rotation1
rotation angle of the frame
std::string m_runtype
Type of the beamtest run.
std::vector< double > m_agelrefind
vector of aerogel refractive indices
void createBtestGeometry(const GearDir &content, G4LogicalVolume &topVolume)
Creation of the beamtest geometry.
std::string m_mytype
type of the run
G4Material * createAerogel(const char *aeroname, double rind, double trl)
create aerogel material
double m_ry
y shift of the prototype ARICH frame
std::vector< double > m_ageltrlen
vector of aerogel transmission lengths
virtual ~GeoARICHBtestCreator()
The destructor of the GeoPXDCreator class.
G4LogicalVolume * buildModule(GearDir Module)
Build the module.
double getAvgRINDEX(G4Material *material)
Get the average refractive index if the material.
std::string m_mirrorID
ID of the mirror configuration setup.
virtual void create(const GearDir &content, G4LogicalVolume &topVolume, geometry::GeometryTypes type)
Creates the ROOT Objects for the ARICH Beamtest 2011 geometry.
double m_aerogeldx
shift of the aerogel center
std::string m_datum
datum of the runlog
SensitiveAero * m_sensitiveAero
pointer to the sesnitive aerogel
GeoARICHBtestCreator & operator=(const GeoARICHBtestCreator &)=delete
Operator = (disabled).
std::string m_author
Beamtest runlog record author.
GeoARICHBtestCreator()
Constructor of the GeoPXDCreator class.
std::string m_daqqa
classification of the run
std::string m_hapdID
ID of the HAPD configuration setup.
std::vector< double > m_agelthickness
vector of aerogel thicknesses
double m_rotation
rotation angle of the setup
GeoARICHBtestCreator(const GeoARICHBtestCreator &)=delete
Copy constructor (disabled).
SensitiveDetector * m_sensitive
pointer to the sensitive detector
double m_rx
x shift of the prototype ARICH frame
int m_neve
Number of event in the beamtest run.
int m_configuration
configuration number of the HAPD
This is optional (temporary) class that provides information on track parameters on aerogel plane,...
Definition: SensitiveAero.h:22
The Class for ARICH Sensitive Detector.
Pure virtual base class for all geometry creators.
Definition: CreatorBase.h:28
VXD::SensitiveDetector< PXDSimHit, PXDTrueHit > SensitiveDetector
The PXD Sensitive Detector class.
GeometryTypes
Flag indiciating the type of geometry to be used.
Abstract base class for different kinds of events.