Public Member Functions | Protected Member Functions | Private Attributes | List of all members
EDepSim::ComponentBuilder Class Reference

#include <EDepSimComponentBuilder.hh>

Inheritance diagram for EDepSim::ComponentBuilder:
EDepSim::Builder

Public Member Functions

 ComponentBuilder (G4String n, EDepSim::UserDetectorConstruction *c)
 
 ComponentBuilder (G4String n, EDepSim::Builder *p)
 
virtual ~ComponentBuilder ()
 
virtual void SetWidth (double w)
 
virtual double GetWidth (void)
 
virtual void SetMaximumWidth (double w)
 
virtual void SetHeight (double w)
 
virtual double GetHeight (void)
 
virtual double GetLength (void)
 Get the length of the component. More...
 
virtual void SetLength (double t)
 Set the length of the component. More...
 
virtual void SetMaximumHeight (double h)
 
virtual double GetPhysicalWidth ()
 
virtual double GetPhysicalHeight ()
 
- Public Member Functions inherited from EDepSim::Builder
 Builder (G4String n, EDepSim::UserDetectorConstruction *c)
 
 Builder (G4String n, EDepSim::Builder *parent)
 
virtual ~Builder ()
 
virtual G4LogicalVolume * GetPiece (void)=0
 
G4String GetName (void)
 Return the base name of the object that this builds. More...
 
G4String GetLocalName (void)
 Return the base name of the object that this builds. More...
 
void SetLocalName (const G4String &name)
 Set the base name of the logical volume that this builds. More...
 
void SetOpacity (double v)
 Set the relative opacity of the constructed object. More...
 
double GetOpacity (void) const
 Get the relative opacity of the constructed object. More...
 
void SetDaughterOpacity (double v)
 Set the relative opacity of the object daughters. More...
 
EDepSim::UserDetectorConstructionGetConstruction (void)
 Return the detector construction that is building this piece. More...
 
virtual void SetSensitiveDetector (G4VSensitiveDetector *s)
 Set the sensitive detector for this component. More...
 
virtual G4VSensitiveDetector * GetSensitiveDetector (void)
 Get the sensitive detector for this component. More...
 
virtual void SetSensitiveDetector (G4String name, G4String type)
 Set the sensitive detector for this component by name. More...
 
virtual void SetMaximumHitSagitta (double sagitta)
 
virtual void SetMaximumHitLength (double length)
 Set the maximum length of a single hit segment. More...
 
G4UImessenger * GetMessenger (void)
 Return the messenger for this constructor. More...
 
void SetMessenger (G4UImessenger *m)
 Set the messenger for this constructor. More...
 
void AddBuilder (EDepSim::Builder *c)
 
template<class T >
T & Get (G4String n)
 
template<class T >
T * Find (G4String n)
 
bool Check ()
 
void SetCheck (bool v)
 Set the check value. More...
 

Protected Member Functions

virtual void AddLength (double t)
 
- Protected Member Functions inherited from EDepSim::Builder
G4Material * FindMaterial (G4String m)
 
G4VisAttributes GetColor (G4LogicalVolume *volume, double opacity=0.0)
 
G4VisAttributes GetColor (G4Material *volume, double opacity=0.0)
 

Private Attributes

double fWidth
 The available width of the component in the X direction. More...
 
double fHeight
 The available height of the component in the Y direction. More...
 
double fLength
 The length of the component along the Z axis. More...
 
double fMaximumWidth
 
double fMaximumHeight
 

Detailed Description

Definition at line 18 of file EDepSimComponentBuilder.hh.

Constructor & Destructor Documentation

EDepSim::ComponentBuilder::ComponentBuilder ( G4String  n,
EDepSim::UserDetectorConstruction c 
)
inline

Definition at line 20 of file EDepSimComponentBuilder.hh.

21  : EDepSim::Builder(n,c), fLength(0.0),
22  fMaximumWidth(0.0), fMaximumHeight(0.0) {}
std::void_t< T > n
double fLength
The length of the component along the Z axis.
EDepSim::ComponentBuilder::ComponentBuilder ( G4String  n,
EDepSim::Builder p 
)
inline

Definition at line 23 of file EDepSimComponentBuilder.hh.

24  : EDepSim::Builder(n,p), fLength(0.0),
25  fMaximumWidth(0.0), fMaximumHeight(0.0) {}
std::void_t< T > n
double fLength
The length of the component along the Z axis.
virtual EDepSim::ComponentBuilder::~ComponentBuilder ( )
inlinevirtual

Definition at line 26 of file EDepSimComponentBuilder.hh.

26 {;};

Member Function Documentation

virtual void EDepSim::ComponentBuilder::AddLength ( double  t)
inlineprotectedvirtual

Increment the length of the component. This is the distance the component stretchs along the Z axis of the detector.

Definition at line 93 of file EDepSimComponentBuilder.hh.

93 {fLength += t;};
double fLength
The length of the component along the Z axis.
virtual double EDepSim::ComponentBuilder::GetHeight ( void  )
inlinevirtual

Get the height of the component. This is the Y dimension of the space available for the component and may be relative to the outside geometry. The actual constructed component height must be less than the height set by the owning EDepSim::ModuleBuilder.

Definition at line 60 of file EDepSimComponentBuilder.hh.

60 {return fHeight;}
double fHeight
The available height of the component in the Y direction.
virtual double EDepSim::ComponentBuilder::GetLength ( void  )
inlinevirtual

Get the length of the component.

Definition at line 63 of file EDepSimComponentBuilder.hh.

63 {return fLength;}
double fLength
The length of the component along the Z axis.
virtual double EDepSim::ComponentBuilder::GetPhysicalHeight ( )
inlinevirtual

This is the height of the component that will be actually constructed. This can be used in GetPiece() to find the size of the bounding box.

Definition at line 84 of file EDepSimComponentBuilder.hh.

84  {
85  double h = fHeight;
87  return h;
88  }
double fHeight
The available height of the component in the Y direction.
virtual double EDepSim::ComponentBuilder::GetPhysicalWidth ( )
inlinevirtual

This is the width of the component that will be actually constructed. This can be used in GetPiece() to find the size of the bounding box.

Definition at line 76 of file EDepSimComponentBuilder.hh.

76  {
77  double w = fWidth;
79  return w;
80  }
double fWidth
The available width of the component in the X direction.
virtual double EDepSim::ComponentBuilder::GetWidth ( void  )
inlinevirtual

Get the width of the component. This is the X dimension of the space available for the component and may be relative to the outside geometry. The width is set by the EDepSim::ModuleBuilder object which will contain this component. The actual constructed component width must be less than the width set by the owning EDepSim::ModuleBuilder.

Definition at line 41 of file EDepSimComponentBuilder.hh.

41 {return fWidth;}
double fWidth
The available width of the component in the X direction.
virtual void EDepSim::ComponentBuilder::SetHeight ( double  w)
inlinevirtual

Set the height of the component. This is the Y dimension of the space available for the component and may be relative to the outside geometry. The height is set by the EDepSim::ModuleBuilder object which will contain this component, so it should not be directly set in user code. The actual constructed component height must be less than the height set by the owning EDepSim::ModuleBuilder.

Definition at line 54 of file EDepSimComponentBuilder.hh.

54 {fHeight = w;}
double fHeight
The available height of the component in the Y direction.
virtual void EDepSim::ComponentBuilder::SetLength ( double  t)
inlinevirtual

Set the length of the component.

Definition at line 66 of file EDepSimComponentBuilder.hh.

66 {fLength = t;}
double fLength
The length of the component along the Z axis.
virtual void EDepSim::ComponentBuilder::SetMaximumHeight ( double  h)
inlinevirtual

Set the physical height of the component, this must be less than or equal to the available height set in SetHeight (by the parent EDepSim::ModuleBuilder object). This is the Y dimension of the component.

Definition at line 72 of file EDepSimComponentBuilder.hh.

virtual void EDepSim::ComponentBuilder::SetMaximumWidth ( double  w)
inlinevirtual

Set the physical width of the component, this may be smaller than the available width set in SetWidth. This is the X dimension of the component.

Definition at line 46 of file EDepSimComponentBuilder.hh.

virtual void EDepSim::ComponentBuilder::SetWidth ( double  w)
inlinevirtual

Set the width of the component. This is the X dimension of the space available for the component and may be relative to the outside geometry. The width is set by the EDepSim::ModuleBuilder object which will contain this component, so it should not be directly set in user code. The actual constructed component width must be less than the width set by the owning EDepSim::ModuleBuilder.

Definition at line 34 of file EDepSimComponentBuilder.hh.

34 {fWidth = w;}
double fWidth
The available width of the component in the X direction.

Member Data Documentation

double EDepSim::ComponentBuilder::fHeight
private

The available height of the component in the Y direction.

Definition at line 100 of file EDepSimComponentBuilder.hh.

double EDepSim::ComponentBuilder::fLength
private

The length of the component along the Z axis.

Definition at line 103 of file EDepSimComponentBuilder.hh.

double EDepSim::ComponentBuilder::fMaximumHeight
private

The maximum physical height of the constructed component. This must be less than the available height.

Definition at line 111 of file EDepSimComponentBuilder.hh.

double EDepSim::ComponentBuilder::fMaximumWidth
private

The maximum physical width of the constructed component. This must be less than the available width.

Definition at line 107 of file EDepSimComponentBuilder.hh.

double EDepSim::ComponentBuilder::fWidth
private

The available width of the component in the X direction.

Definition at line 93 of file EDepSimComponentBuilder.hh.


The documentation for this class was generated from the following file: