Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-03-31 07:49:10

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   G4double fOuterRadiusFirstApplicatorFlash; ///// DA CAMBIARE
0055 
0056 private:
0057 void ConstructCollimator(G4VPhysicalVolume *);
0058 
0059   void FlashBeamLineVacuumSource();
0060 
0061   void FlashBeamLineTitaniumWindows();
0062   void FlashVWAlcover();
0063     void FlashAlCover2();
0064       void FlashExitBit();
0065         void FlashToroid();
0066           void OverCover();
0067             void OverCover2();
0068               void MonitorChamber();
0069                 void Flash_connector();
0070                                 void Bigconnector();
0071                                                 void Bigconnector2();
0072                                                                 void Bigconnector3();
0073                                                                 void FlashBeamLineApplicator();
0074 
0075 
0076   G4double fInitial_pos;
0077   
0078   G4double fInnerRadiusFirstApplicatorFlash;
0079   // G4double fOuterRadiusFirstApplicatorFlash;
0080   G4VPhysicalVolume *fMotherPhys;
0081 
0082   G4Material* Fe;
0083   G4Material* PVDF;
0084   G4Material* FILM;
0085   G4Material* aluminumNist;
0086   G4Material* PMMA;
0087 
0088   G4double fOutRadiusVSFlash;
0089   G4double fHightVSFlash;
0090   G4double fXPositionVSFlash;
0091   G4double fHightFTFlash;
0092   
0093     G4double fOutRadiusFTFlash;
0094     G4double fOutRadius;
0095     G4double fToroid_outRadius;
0096     G4double fToroid_hight;
0097     G4double fToroid_XPosition;
0098     G4double fBigcover_hight;
0099     G4double fBigcover_XPosition;
0100     G4double fChamberpos;
0101   
0102   
0103   void SetDefaultDimensions();
0104 
0105   void ConstructApplicator();
0106 
0107   G4VisAttributes *blue;
0108   G4VisAttributes *gray;
0109   G4VisAttributes *white;
0110   G4VisAttributes *red;
0111   G4VisAttributes *yellow;
0112   G4VisAttributes *green;
0113   G4VisAttributes *darkGreen;
0114   G4VisAttributes *darkOrange3;
0115   G4VisAttributes *skyBlue;
0116   G4VisAttributes *magenta;
0117 
0118 
0119   G4Tubs *fSolidFirstApplicatorFlash;
0120   G4VPhysicalVolume *fPhysiFirstApplicatorFlash;
0121   G4Material *fFirstApplicatorMaterialFlash;
0122 
0123   
0124   //  Titanium Window
0125   G4Tubs *solidFTFlash;
0126   G4VPhysicalVolume *physiFTFlash;
0127   G4Material *FTFlashMaterialFlash;
0128 
0129   //  Vacuum Source
0130   G4Tubs *solidVSFlash;
0131   G4VPhysicalVolume *physiVSFlash;
0132   G4Material *VSFlashMaterialFlash;
0133 };
0134 #endif