Skip to content
Snippets Groups Projects
Commit bab81ad2 authored by local1's avatar local1
Browse files

modified Chamber.cc and .hh for MuGasT gdml chamber

parent e1a13f7a
No related branches found
No related tags found
No related merge requests found
Source diff could not be displayed: it is too large. Options to address this: view the blob.
#ifndef Chamber2Array_h #ifndef Chamber2Array_h
#define Chamber2Array_h 1 #define Chamber2Array_h 1
/***************************************************************************** /*****************************************************************************
* Copyright (C) 2009-2016 this file is part of the NPTool Project * * Copyright (C) 2009 this file is part of the NPTool Project *
* * * *
* For the licensing terms see $NPTOOL/Licence/NPTool_Licence * * For the licensing terms see $NPTOOL/Licence/NPTool_Licence *
* For the list of contributors see $NPTOOL/Licence/Contributors * * For the list of contributors see $NPTOOL/Licence/Contributors *
...@@ -11,14 +11,14 @@ ...@@ -11,14 +11,14 @@
* Original Author: M. Labiche contact address: marc.labiche@atfc.ac.uk * * Original Author: M. Labiche contact address: marc.labiche@atfc.ac.uk *
* * * *
* Creation Date : January 2010 * * Creation Date : January 2010 *
* Last update : 19/07/2016 * * Last update : 11/03/2010 *
*---------------------------------------------------------------------------* *---------------------------------------------------------------------------*
* Decription: * * Decription: *
* This class describe Cryogenic and standard Chamber. * * This class describe Cryogenic and standard Chamber. *
* Derived fromNPS::VDetector * * Derived from VDetector *
*---------------------------------------------------------------------------* *---------------------------------------------------------------------------*
* Comment: * * Comment: *
* * *
* * * *
*****************************************************************************/ *****************************************************************************/
// C++ headers // C++ headers
...@@ -37,91 +37,101 @@ ...@@ -37,91 +37,101 @@
#include "G4UnionSolid.hh" #include "G4UnionSolid.hh"
#include "G4IntersectionSolid.hh" #include "G4IntersectionSolid.hh"
// NPTool headers // NPTool headers
#include "NPSVDetector.hh" #include "NPSVDetector.hh"
#include "NPInputParser.h" #include "NPInputParser.h"
using namespace std; using namespace std;
using namespace CLHEP; using namespace CLHEP;
class Chamber : public NPS::VDetector class Chamber : public NPS::VDetector
{ {
public: public:
Chamber(); Chamber();
~Chamber(){}; ~Chamber(){};
public: public:
// Read stream at Configfile to pick-up parameters of detector (Position,...) // Read stream at Configfile to pick-up parameters of detector (Position,...)
// Called in DetecorConstruction::ReadDetextorConfiguration Method // Called in DetecorConstruction::ReadDetextorConfiguration Method
void ReadConfiguration(NPL::InputParser); //void ReadConfiguration(string Path);
void ReadConfiguration(NPL::InputParser);
// Construct detector and inialise sensitive part.
// Called After DetecorConstruction::AddDetector Method // Construct detector and inialise sensitive part.
void ConstructDetector(G4LogicalVolume* world); // Called After DetecorConstruction::AddDetector Method
void ConstructDetector(G4LogicalVolume* world);
// Add Detector branch to the EventTree.
// Called After DetecorConstruction::AddDetector Method // Add Detector branch to the EventTree.
void InitializeRootOutput(); // Called After DetecorConstruction::AddDetector Method
void InitializeRootOutput();
// Read sensitive part and fill the Root tree.
// Called at in the EventAction::EndOfEventAvtion // Read sensitive part and fill the Root tree.
void ReadSensitive(const G4Event* event); // Called at in the EventAction::EndOfEventAvtion
void ReadSensitive(const G4Event* event);
public:
// Return Material from the Chamber Material Library public:
G4Material* GetMaterialFromLibrary(G4String MaterialName, G4double Temperature = 0, G4double Pressure = 0); // Return Material from the Chamber Material Library
G4Material* GetMaterialFromLibrary(G4String MaterialName, G4double Temperature = 0, G4double Pressure = 0);
// Generate a DEDX file table using the material used in the target
void WriteDEDXTable(G4ParticleDefinition* Particle,G4double Emin,G4double Emax); // Generate a DEDX file table using the material used in the target
void WriteDEDXTable(G4ParticleDefinition* Particle,G4double Emin,G4double Emax);
public:
G4double GetChamberRmin() {return m_ChamberRmin;} public:
G4double GetChamberRmax() {return m_ChamberRmax;} G4double GetChamberRmin() {return m_ChamberRmin;}
G4double GetChamberPhiMin() {return m_ChamberPhiMin;} G4double GetChamberRmax() {return m_ChamberRmax;}
G4double GetChamberPhiMax() {return m_ChamberPhiMax;} G4double GetChamberPhiMin() {return m_ChamberPhiMin;}
G4double GetChamberThetaMin() {return m_ChamberThetaMin;} G4double GetChamberPhiMax() {return m_ChamberPhiMax;}
G4double GetChamberThetaMax() {return m_ChamberThetaMax;} G4double GetChamberThetaMin() {return m_ChamberThetaMin;}
G4Material* GetChamberMaterial() {return m_ChamberMaterial;} G4double GetChamberThetaMax() {return m_ChamberThetaMax;}
//G4int GetChamberNbLayers() {return m_ChamberNbLayers;} G4Material* GetChamberMaterial() {return m_ChamberMaterial;}
//G4int GetChamberNbLayers() {return m_ChamberNbLayers;}
private:
// Chamber type : true = normal ; false = cryo private:
//bool m_ChamberType; // Chamber type : true = normal ; false = cryo
G4int m_ChamberType; //bool m_ChamberType;
// Chamber type : 0=normal ; 1=cryo ; 2 = GREAT
// Standard parameter G4int m_ChamberType;
G4double m_ChamberRmin;
G4double m_ChamberRmax; // Standard parameter
G4double m_ChamberPhiMin; G4double m_ChamberRmin;
G4double m_ChamberPhiMax; G4double m_ChamberRmax;
G4double m_ChamberThetaMin; G4double m_ChamberPhiMin;
G4double m_ChamberThetaMax; G4double m_ChamberPhiMax;
G4Material* m_ChamberMaterial; G4double m_ChamberThetaMin;
G4int m_ChamberNbLayers; G4double m_ChamberThetaMax;
G4Material* m_ChamberMaterial;
G4int m_ChamberNbLayers;
// GREAT chamber parameter
G4double m_ChamberHmin;
G4double m_ChamberHmax;
G4double m_ChamberWmin;
G4double m_ChamberWmax;
G4double m_ChamberDmin;
G4double m_ChamberDmax;
// MARA chamber parameter
G4LogicalVolume* m_LogicalGDML;
G4String m_GDMLPath;
G4String m_GDMLName;
G4String m_GDMLWorld;
/* /*
// For Cryo Chamber // For Cryo Chamber
G4double m_ChamberTemperature; G4double m_ChamberTemperature;
G4double m_ChamberPressure; G4double m_ChamberPressure;
G4double m_WindowsThickness; G4double m_WindowsThickness;
G4Material* m_WindowsMaterial; G4Material* m_WindowsMaterial;
// Positioning // Positioning
G4double m_ChamberX; G4double m_ChamberX;
G4double m_ChamberY; G4double m_ChamberY;
G4double m_ChamberZ; G4double m_ChamberZ;
*/ */
// GREAT chamber parameter
G4double m_ChamberHmin;
G4double m_ChamberHmax;
G4double m_ChamberWmin;
G4double m_ChamberWmax;
G4double m_ChamberDmin;
G4double m_ChamberDmax;
/* Karl's geometry of GREAT: */ /* Karl's geometry of GREAT: */
//Gap between BackPlate and SiSupport //Gap between BackPlate and SiSupport
...@@ -369,8 +379,6 @@ private: ...@@ -369,8 +379,6 @@ private:
void Place_GREAT_LookingUpstream(G4LogicalVolume* world); void Place_GREAT_LookingUpstream(G4LogicalVolume* world);
}; };
#endif #endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment