File indexing completed on 2025-10-30 07:58:47
0001 
0002 
0003 
0004 
0005 
0006 
0007 
0008 
0009 
0010 
0011 
0012 
0013 
0014 
0015 
0016 
0017 
0018 
0019 
0020 
0021 
0022 
0023 
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   
0123   G4Tubs *solidFTFlash;
0124   G4VPhysicalVolume *physiFTFlash;
0125   G4Material *FTFlashMaterialFlash;
0126 
0127   
0128   G4Tubs *solidVSFlash;
0129   G4VPhysicalVolume *physiVSFlash;
0130   G4Material *VSFlashMaterialFlash;
0131 };
0132 #endif