ACTARSim
ACTAR TPC Simulation Reference Guide
ActarSimSilRingDetectorConstruction.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 ActarSimSilRingDetectorConstruction_h
11 #define ActarSimSilRingDetectorConstruction_h 1
12 
13 #include "globals.hh"
14 #include "G4ThreeVector.hh"
15 
16 class G4LogicalVolume;
17 class G4VPhysicalVolume;
18 class G4Material;
19 class ActarSimSilRingDetectorMessenger;
21 
23 private:
24  G4Material* silBulkMaterial; ///< Pointer to the silicon material
25 
26  ActarSimDetectorConstruction* detConstruction; ///< Pointer to the global detector
27 
28  /// 6 bits to indicate which sci wall is present (1) or absent (0)
29  /// order is:
30  /// - bit1 (lsb) beam output wall
31  /// - bit2 lower (gravity based) wall
32  /// - bit3 upper (gravity based) wall
33  /// - bit4 left (from beam point of view) wall
34  /// - bit5 right (from beam point of view) wall
35  /// - bit6 (msb) beam entrance wall
36  G4int sideCoverage;
37 
38  G4double xBoxSilHalfLength; ///< Silicon box half length along X (X is horizontal)
39  G4double yBoxSilHalfLength; ///< Silicon box half length along Y (Y is vertical)
40  G4double zBoxSilHalfLength; ///< Silicon box half length along Z (Z is along beam)
41 
42  G4VPhysicalVolume* ConstructSil(G4LogicalVolume*);
43 
44 public:
47 
48  G4VPhysicalVolume* Construct(G4LogicalVolume*);
49 
50  void SetSilBulkMaterial (G4String);
51  void SetSideCoverage(G4int cov){sideCoverage = cov;}
52  void SetXBoxSilHalfLength(G4double xBox){xBoxSilHalfLength=xBox;}
53  void SetYBoxSilHalfLength(G4double yBox){yBoxSilHalfLength=yBox;}
54  void SetZBoxSilHalfLength(G4double zBox){zBoxSilHalfLength=zBox;}
55 
56  G4Material* GetSilBulkMaterial() {return silBulkMaterial;}
57 
58  G4int GetSideCoverage(){return sideCoverage;}
62 
63  void UpdateGeometry();
65 };
66 #endif
G4double zBoxSilHalfLength
Silicon box half length along Z (Z is along beam)
ActarSimSilRingDetectorConstruction(ActarSimDetectorConstruction *)
Constructor. Sets the material and the pointer to the Messenger.
G4double xBoxSilHalfLength
Silicon box half length along X (X is horizontal)
G4VPhysicalVolume * Construct(G4LogicalVolume *)
Wrap for the construction functions.
void UpdateGeometry()
Updates Scintillator detector.
ActarSimDetectorConstruction * detConstruction
Pointer to the global detector.
void PrintDetectorParameters()
Prints Scintillator detector parameters. To be filled.
G4VPhysicalVolume * ConstructSil(G4LogicalVolume *)
Real construction work is performed here.
void SetSilBulkMaterial(G4String)
Set the material the scintillator bulk is made of.
G4Material * silBulkMaterial
Pointer to the silicon material.
G4double yBoxSilHalfLength
Silicon box half length along Y (Y is vertical)