ACTARSim
ACTAR TPC Simulation Reference Guide
ActarSimSciRingDetectorConstruction.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 ActarSimSciRingDetectorConstruction_h
11 #define ActarSimSciRingDetectorConstruction_h 1
12 
13 #include "globals.hh"
14 #include "G4ThreeVector.hh"
15 
16 class G4LogicalVolume;
17 class G4VPhysicalVolume;
18 class G4Material;
19 //class ActarSimSciDetectorMessenger;
21 
23 private:
24  G4Material* sciBulkMaterial; ///< Pointer to the scintillator 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 xBoxSciHalfLength; ///< Scintillator box half length along X (X is horizontal)
39  G4double yBoxSciHalfLength; ///< Scintillator box half length along Y (Y is vertical)
40  G4double zBoxSciHalfLength; ///< Scintillator box half length along Z (Z is along beam)
41 
42  G4VPhysicalVolume* ConstructSci(G4LogicalVolume*);
43 
44 public:
47 
48  G4VPhysicalVolume* Construct(G4LogicalVolume*);
49 
50  void SetSciBulkMaterial (G4String);
51  void SetSideCoverage(G4int cov){sideCoverage = cov;}
52  void SetXBoxSciHalfLength(G4double xBox){xBoxSciHalfLength=xBox;}
53  void SetYBoxSciHalfLength(G4double yBox){yBoxSciHalfLength=yBox;}
54  void SetZBoxSciHalfLength(G4double zBox){zBoxSciHalfLength=zBox;}
55 
56  G4Material* GetSciBulkMaterial() {return sciBulkMaterial;}
57 
58  G4int GetSideCoverage(){return sideCoverage;}
62 
63  void UpdateGeometry();
65 };
66 #endif
G4Material * sciBulkMaterial
Pointer to the scintillator material.
ActarSimDetectorConstruction * detConstruction
Pointer to the global detector.
G4double zBoxSciHalfLength
Scintillator box half length along Z (Z is along beam)
void SetSciBulkMaterial(G4String)
Set the material the scintillator bulk is made of.
void PrintDetectorParameters()
Prints Scintillator detector parameters. To be filled.
G4VPhysicalVolume * Construct(G4LogicalVolume *)
Wrap for the construction functions.
void UpdateGeometry()
Updates Scintillator detector.
G4VPhysicalVolume * ConstructSci(G4LogicalVolume *)
Real construction work is performed here.
ActarSimSciRingDetectorConstruction(ActarSimDetectorConstruction *)
Constructor. Sets the material and the pointer to the Messenger.
G4double xBoxSciHalfLength
Scintillator box half length along X (X is horizontal)
G4double yBoxSciHalfLength
Scintillator box half length along Y (Y is vertical)