Belle II Software development
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
16class G4LogicalVolume;
17class G4Material;
18namespace Belle2 {
23 namespace arich {
24
26 class SensitiveAero;
27
28
29
30
33
34 public:
35
38
41
43 virtual ~GeoARICHBtestCreator();
44
47
57 virtual void create(const GearDir& content, G4LogicalVolume& topVolume, geometry::GeometryTypes type);
58
59 protected:
61 void createBtestGeometry(const GearDir& content, G4LogicalVolume& topVolume);
62
64 G4LogicalVolume* buildModule(GearDir Module);
65
67 double getAvgRINDEX(G4Material* material);
72
73 //int isBeamBkgStudy;
75 G4Material* createAerogel(const char* aeroname, double rind, double trl);
76 private:
78 int m_runno ;
80 std::string m_author;
82 int m_neve;
84 std::string m_runtype;
86 std::string m_hapdID;
88 std::string m_aerogelID;
90 std::string m_mirrorID;
92 double m_rotation;
94 double m_rx;
96 double m_ry;
98 std::string m_mytype;
100 std::string m_daqqa;
102 std::string m_comment;
104 std::string m_datum;
105
111 double m_framedx;
117 std::string m_comment1;
118
120 std::vector<double> m_agelrefind;
122 std::vector<double> m_agelthickness;
124 std::vector<double> m_ageltrlen;
125 };
126
127 }
129}
130
131#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
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).
GeoARICHBtestCreator & operator=(const GeoARICHBtestCreator &)=delete
Operator = (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.