Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-31 09:22:03

0001 //
0002 // ********************************************************************
0003 // * License and Disclaimer                                           *
0004 // *                                                                  *
0005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
0006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
0007 // * conditions of the Geant4 Software License,  included in the file *
0008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
0009 // * include a list of copyright holders.                             *
0010 // *                                                                  *
0011 // * Neither the authors of this software system, nor their employing *
0012 // * institutes,nor the agencies providing financial support for this *
0013 // * work  make  any representation or  warranty, express or implied, *
0014 // * regarding  this  software system or assume any liability for its *
0015 // * use.  Please see the license in the file  LICENSE  and URL above *
0016 // * for the full disclaimer and the limitation of liability.         *
0017 // *                                                                  *
0018 // * This  code  implementation is the result of  the  scientific and *
0019 // * technical work of the GEANT4 collaboration.                      *
0020 // * By using,  copying,  modifying or  distributing the software (or *
0021 // * any work based  on the software)  you  agree  to acknowledge its *
0022 // * use  in  resulting  scientific  publications,  and indicate your *
0023 // * acceptance of all terms of the Geant4 Software license.          *
0024 // ********************************************************************
0025 //
0026 //
0027 //
0028 
0029 #ifndef FlashApplicator_H
0030 #define FlashApplicator_H 1
0031 
0032 #include "FlashDetectorConstruction.hh"
0033 #include "G4Box.hh"
0034 #include "G4Cons.hh"
0035 #include "G4LogicalVolume.hh"
0036 #include "G4SubtractionSolid.hh"
0037 #include "G4Tubs.hh"
0038 #include "G4VUserDetectorConstruction.hh"
0039 #include "G4VisAttributes.hh"
0040 #include "globals.hh"
0041 
0042 class G4VPhysicalVolume;
0043 
0044 class FlashApplicator {
0045 public:
0046   FlashApplicator(G4VPhysicalVolume *);
0047   ~FlashApplicator();
0048 
0049   G4double fFinalApplicatorXPositionFlash;
0050   G4double fHightFinalApplicatorFlash;
0051 
0052   void SetOuterRadius(G4double radius);
0053    void SetApplicatorLength(G4double length);
0054 
0055 private:
0056 void ConstructCollimator(G4VPhysicalVolume *);
0057 
0058   void FlashBeamLineVacuumSource();
0059 
0060   void FlashBeamLineTitaniumWindows();
0061   void FlashVWAlcover();
0062     void FlashAlCover2();
0063       void FlashExitBit();
0064         void FlashToroid();
0065           void OverCover();
0066             void OverCover2();
0067               void MonitorChamber();
0068                 void Flash_connector();
0069                                 void Bigconnector();
0070                                                 void Bigconnector2();
0071                                                                 void Bigconnector3();
0072                                                                 void FlashBeamLineApplicator();
0073 
0074 
0075   G4double fInitial_pos;
0076   
0077   G4double fInnerRadiusFirstApplicatorFlash;
0078   G4VPhysicalVolume *fMotherPhys;
0079 
0080   G4Material* Fe;
0081   G4Material* PVDF;
0082   G4Material* FILM;
0083   G4Material* aluminumNist;
0084   G4Material* PMMA;
0085 
0086   G4double fOutRadiusVSFlash;
0087   G4double fHightVSFlash;
0088   G4double fXPositionVSFlash;
0089   G4double fHightFTFlash;
0090   
0091     G4double fOutRadiusFTFlash;
0092     G4double fOutRadius;
0093     G4double fToroid_outRadius;
0094     G4double fToroid_hight;
0095     G4double fToroid_XPosition;
0096     G4double fBigcover_hight;
0097     G4double fBigcover_XPosition;
0098     G4double fChamberpos;
0099   
0100   
0101   void SetDefaultDimensions();
0102 
0103   void ConstructApplicator();
0104 
0105   G4VisAttributes *blue;
0106   G4VisAttributes *gray;
0107   G4VisAttributes *white;
0108   G4VisAttributes *red;
0109   G4VisAttributes *yellow;
0110   G4VisAttributes *green;
0111   G4VisAttributes *darkGreen;
0112   G4VisAttributes *darkOrange3;
0113   G4VisAttributes *skyBlue;
0114   G4VisAttributes *magenta;
0115 
0116   G4double fOuterRadiusFirstApplicatorFlash;
0117   G4Tubs *fSolidFirstApplicatorFlash;
0118   G4VPhysicalVolume *fPhysiFirstApplicatorFlash;
0119   G4Material *fFirstApplicatorMaterialFlash;
0120 
0121   
0122   //  Titanium Window
0123   G4Tubs *solidFTFlash;
0124   G4VPhysicalVolume *physiFTFlash;
0125   G4Material *FTFlashMaterialFlash;
0126 
0127   //  Vacuum Source
0128   G4Tubs *solidVSFlash;
0129   G4VPhysicalVolume *physiVSFlash;
0130   G4Material *VSFlashMaterialFlash;
0131 };
0132 #endif