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