ACTARSim
ACTAR TPC Simulation Reference Guide
ActarSimGasDetectorMessenger.hh
Go to the documentation of this file.
1 // - AUTHOR: Hector Alvarez-Pol 04/2008
2 /******************************************************************
3  * Copyright (C) 2005-2016, Hector Alvarez-Pol *
4  * All rights reserved. *
5  * *
6  * License according to GNU LESSER GPL (see lgpl-3.0.txt). *
7  * For the list of contributors see CREDITS. *
8  ******************************************************************/
9 
10 #ifndef ActarSimGasDetectorMessenger_h
11 #define ActarSimGasDetectorMessenger_h 1
12 
13 #include "globals.hh"
14 #include "G4UImessenger.hh"
15 
19 
20 class G4UIdirectory;
21 class G4UIcmdWithAString;
22 class G4UIcmdWithAnInteger;
23 class G4UIcmdWithADouble;
24 class G4UIcmdWithoutParameter;
25 class G4UIcmdWithADoubleAndUnit;
26 class G4UIcmdWith3Vector;
27 class G4UIcmdWith3VectorAndUnit;
28 class G4UIcmdWithoutParameter;
29 
30 class ActarSimGasDetectorMessenger: public G4UImessenger {
31 private:
32  ActarSimDetectorConstruction* ActarSimDetector; ///< Pointer to main detector geometry class
33  ActarSimGasDetectorConstruction* ActarSimGasDetector; ///< Pointer to main gas detector geometry class
34 
35  G4UIcmdWithAnInteger* gasMixtureFlagCmd; ///< Set a Gas Mixture with N number of elements (default 0).
36  G4UIcommand* gasMixtureCmd; ///< Set a Gas Mixture (for the Gas box and the Chamber).
37 
38  G4UIdirectory* detDir; ///< Directory
39  G4UIdirectory* detDirMix; ///< Directory for gas mix
40 
41  G4UIcmdWithAString* gasMaterCmd; ///< Select Material of the Gas (for the Gas box and the Chamber).
42  G4UIcmdWithADoubleAndUnit* gasPresCmd; ///< Select the Gas Pressure (for the Gas box and the Chamber).
43  G4UIcmdWithADoubleAndUnit* gasTempCmd; ///< Select the Gas Temperature (for the Gas box and the Chamber).
44 
45  G4UIcmdWithAString* beamShieldMaterCmd; ///< Select Material of the beam shield.
46 
47  G4UIcmdWithoutParameter* printCmd; ///< Prints geometry.
48 
49  G4UIcmdWithAString* detectorGeometryCmd; ///< Select the geometry of the detector.
50  G4UIcmdWithAString* setBeamShieldCmd; ///< Sets a beam shield and selects the geometry.
51  G4UIcmdWithADoubleAndUnit* gasBoxSizeXCmd; ///< Select the half-length X dimension of the Gas Box.
52  G4UIcmdWithADoubleAndUnit* gasBoxSizeYCmd; ///< Select the half-length Y dimension of the Gas Box.
53  G4UIcmdWithADoubleAndUnit* gasBoxSizeZCmd; ///< Select the half-length Z dimension of the Gas Box.
54  G4UIcmdWithADoubleAndUnit* gasBoxCenterXCmd; ///< Select the X offset of the Gas Box center.
55  G4UIcmdWithADoubleAndUnit* gasBoxCenterYCmd; ///< Select the Y offset of the Gas Box center.
56  G4UIcmdWithADoubleAndUnit* gasBoxCenterZCmd; ///< Select the Z offset of the Gas Box center.
57  G4UIcmdWithADoubleAndUnit* radiusGasTubCmd; ///< Select the external radius of the Gas Tube.
58  G4UIcmdWithADoubleAndUnit* lengthGasTubCmd; ///< Select the half-length of the Gas Tube.
59  G4UIcmdWithADoubleAndUnit* innerRadiusBeamShieldTubCmd; ///< Select the internal radius of the Gas Tube.
60  G4UIcmdWithADoubleAndUnit* outerRadiusBeamShieldTubCmd; ///< Select the external radius of the Gas Tube.
61  G4UIcmdWithADoubleAndUnit* lengthBeamShieldTubCmd; ///< Select the half-length of the Gas Tube.
62 
63  //For the gas mixture
64  G4int fGasNumber; ///< Gas mixture parameters: number
65  G4String fGasMaterial; ///< Gas mixture parameters: material
66  G4double fGasRatio; ///< Gas mixture parameters: ratio
67 
68  void GasMixtureCommand(G4String newValues);
69 
70 public:
73 
74  void SetNewValue(G4UIcommand*, G4String);
75  //G4String GetCurrentValue(G4UIcommand*);
76 };
77 #endif
G4UIcmdWithADoubleAndUnit * gasBoxCenterZCmd
Select the Z offset of the Gas Box center.
G4UIcmdWithADoubleAndUnit * gasBoxCenterYCmd
Select the Y offset of the Gas Box center.
ActarSimGasDetectorMessenger(ActarSimDetectorConstruction *, ActarSimGasDetectorConstruction *)
G4UIcmdWithAString * detectorGeometryCmd
Select the geometry of the detector.
G4UIcmdWithADoubleAndUnit * lengthGasTubCmd
Select the half-length of the Gas Tube.
void GasMixtureCommand(G4String newValues)
Selection of the mixture gases.
G4UIcmdWithoutParameter * printCmd
Prints geometry.
G4UIcmdWithADoubleAndUnit * gasBoxSizeXCmd
Select the half-length X dimension of the Gas Box.
G4UIcmdWithADoubleAndUnit * radiusGasTubCmd
Select the external radius of the Gas Tube.
G4int fGasNumber
Gas mixture parameters: number.
G4UIcmdWithAnInteger * gasMixtureFlagCmd
Set a Gas Mixture with N number of elements (default 0).
G4UIcmdWithADoubleAndUnit * gasBoxSizeYCmd
Select the half-length Y dimension of the Gas Box.
G4UIcmdWithAString * beamShieldMaterCmd
Select Material of the beam shield.
G4UIcmdWithADoubleAndUnit * gasBoxCenterXCmd
Select the X offset of the Gas Box center.
G4double fGasRatio
Gas mixture parameters: ratio.
G4UIcmdWithADoubleAndUnit * gasTempCmd
Select the Gas Temperature (for the Gas box and the Chamber).
void SetNewValue(G4UIcommand *, G4String)
Setting the new values and connecting to actions.
G4UIcmdWithAString * setBeamShieldCmd
Sets a beam shield and selects the geometry.
G4UIcmdWithAString * gasMaterCmd
Select Material of the Gas (for the Gas box and the Chamber).
G4UIcmdWithADoubleAndUnit * gasBoxSizeZCmd
Select the half-length Z dimension of the Gas Box.
G4UIcmdWithADoubleAndUnit * outerRadiusBeamShieldTubCmd
Select the external radius of the Gas Tube.
G4UIcmdWithADoubleAndUnit * gasPresCmd
Select the Gas Pressure (for the Gas box and the Chamber).
G4UIcmdWithADoubleAndUnit * lengthBeamShieldTubCmd
Select the half-length of the Gas Tube.
ActarSimDetectorConstruction * ActarSimDetector
Pointer to main detector geometry class.
ActarSimGasDetectorConstruction * ActarSimGasDetector
Pointer to main gas detector geometry class.
G4UIcommand * gasMixtureCmd
Set a Gas Mixture (for the Gas box and the Chamber).
G4String fGasMaterial
Gas mixture parameters: material.
G4UIdirectory * detDirMix
Directory for gas mix.
G4UIcmdWithADoubleAndUnit * innerRadiusBeamShieldTubCmd
Select the internal radius of the Gas Tube.