VGM Version 5.3
Loading...
Searching...
No Matches
RootGM::Placement Class Reference

VGM implementation for Root positions of volumes. More...

#include <Placement.h>

Inheritance diagram for RootGM::Placement:

Public Member Functions

 Placement (const std::string &name, int copyNo, VGM::IVolume *volume, VGM::IVolume *motherVolume, TGeoMatrix *transformation)
 
 Placement (const std::string &name, VGM::IVolume *volume, VGM::IVolume *motherVolume, VGM::Axis axis, int nofItems, double width, double offset)
 
 Placement (VGM::IVolume *volume, VGM::IVolume *motherVolume, TGeoNode *node)
 
 Placement (VGM::IVolume *volume, VGM::IVolume *motherVolume, TGeoNode *node, std::vector< const TGeoNode * > assemblyNodes)
 
virtual ~Placement ()
 
virtual VGM::PlacementType Type () const
 Return the type of this placement.
 
virtual std::string Name () const
 Return the name of this placement.
 
virtual int CopyNo () const
 Return the copy number of this placement.
 
virtual VGM::Transform Transformation () const
 Return the 3D transformation (if simple placement)
 
virtual bool MultiplePlacementData (VGM::Axis &axis, int &nofItems, double &width, double &offset, double &halfGap) const
 Fill the multiple placement data if relevant and return true; return false if not multiple placement.
 
virtual bool ParameterisedPlacementData (std::vector< VGM::Transform > &transforms, std::vector< VGM::IVolume * > &volumes) const
 Fill the parameterised placement data if relevant and return true; return false if not parameterised placement.
 
- Public Member Functions inherited from BaseVGM::VPlacement
 VPlacement (VGM::IVolume *volume, VGM::IVolume *motherVolume)
 
virtual ~VPlacement ()
 
virtual VGM::IVolumeVolume () const
 Return the associated volume.
 
virtual VGM::IVolumeMother () const
 Return the associated mother volume.
 
virtual std::ostream & Put (std::ostream &out) const
 Put the printing of the placement parameters in the out stream.
 
void SetVolume (VGM::IVolume *volume)
 
- Public Member Functions inherited from VGM::IPlacement
virtual ~IPlacement ()
 

Static Public Member Functions

static void SetIncludeAssembliesInNames (bool includeAssembliesInNames)
 
static bool GetIncludeAssembliesInNames ()
 
static void SetNameSeparator (char nameSeparator)
 
static void SetNamePrefix (char namePrefix)
 
static char GetNameSeparator ()
 
static char GetNamePrefix ()
 

Protected Member Functions

 Placement ()
 
 Placement (const Placement &rhs)
 
- Protected Member Functions inherited from BaseVGM::VPlacement
 VPlacement ()
 
 VPlacement (const VPlacement &rhs)
 

Detailed Description

VGM implementation for Root positions of volumes.

Author
Ivana Hrivnacova; IPN Orsay

Definition at line 40 of file Placement.h.

Constructor & Destructor Documentation

◆ Placement() [1/6]

RootGM::Placement::Placement ( const std::string & name,
int copyNo,
VGM::IVolume * volume,
VGM::IVolume * motherVolume,
TGeoMatrix * transformation )

Standard constructor to define a simple placement via parameters

Parameters
copyNothe copy number of this placement
volumethe associated volume
motherVolumethe associated mother volume
transformationthe 3D transformation of the volume with respect to its mother

Definition at line 102 of file Placement.cxx.

◆ Placement() [2/6]

RootGM::Placement::Placement ( const std::string & name,
VGM::IVolume * volume,
VGM::IVolume * motherVolume,
VGM::Axis axis,
int nofItems,
double width,
double offset )

Standard constructor to define a multiple placement via parameters

Parameters
volumethe associated volume which will be replicated
motherVolumethe associated mother volume
axisthe replication axis
nofItemsnumber of replications
widththe replication width (the unit depends on the axis; can be mm or deg)
offsetthe replication offset (the unit depends on the axis; can be mm or deg)

Definition at line 158 of file Placement.cxx.

◆ Placement() [3/6]

RootGM::Placement::Placement ( VGM::IVolume * volume,
VGM::IVolume * motherVolume,
TGeoNode * node )

Standard constructor to define a multiple placement via Root object

Definition at line 203 of file Placement.cxx.

◆ Placement() [4/6]

RootGM::Placement::Placement ( VGM::IVolume * volume,
VGM::IVolume * motherVolume,
TGeoNode * node,
std::vector< const TGeoNode * > assemblyNodes )

Standard constructor to define a multiple placement via Root object

Definition at line 237 of file Placement.cxx.

◆ ~Placement()

RootGM::Placement::~Placement ( )
virtual

Definition at line 272 of file Placement.cxx.

◆ Placement() [5/6]

RootGM::Placement::Placement ( )
protected

Protected default constructor

Definition at line 259 of file Placement.cxx.

◆ Placement() [6/6]

RootGM::Placement::Placement ( const Placement & rhs)
protected

Protected copy constructor

Definition at line 265 of file Placement.cxx.

Member Function Documentation

◆ SetIncludeAssembliesInNames()

void RootGM::Placement::SetIncludeAssembliesInNames ( bool includeAssembliesInNames)
static

Set the option to include assemblies names in the name of placement

Definition at line 47 of file Placement.cxx.

◆ GetIncludeAssembliesInNames()

bool RootGM::Placement::GetIncludeAssembliesInNames ( )
static

Return the option to include assemblies names in the name of placement

Definition at line 57 of file Placement.cxx.

◆ SetNameSeparator()

void RootGM::Placement::SetNameSeparator ( char nameSeparator)
static

Set the separator for assemblies names

Definition at line 66 of file Placement.cxx.

◆ SetNamePrefix()

void RootGM::Placement::SetNamePrefix ( char namePrefix)
static

Set the prefix for assemblies names

Definition at line 74 of file Placement.cxx.

◆ GetNameSeparator()

char RootGM::Placement::GetNameSeparator ( )
static

Return the separator for assemblies names

Definition at line 82 of file Placement.cxx.

◆ GetNamePrefix()

char RootGM::Placement::GetNamePrefix ( )
static

Return the prefix for assemblies names

Definition at line 90 of file Placement.cxx.

◆ Type()

VGM::PlacementType RootGM::Placement::Type ( ) const
virtual

Return the type of this placement.

Implements VGM::IPlacement.

Definition at line 322 of file Placement.cxx.

◆ Name()

std::string RootGM::Placement::Name ( ) const
virtual

Return the name of this placement.

Implements BaseVGM::VPlacement.

Definition at line 340 of file Placement.cxx.

◆ CopyNo()

int RootGM::Placement::CopyNo ( ) const
virtual

Return the copy number of this placement.

Implements BaseVGM::VPlacement.

Definition at line 357 of file Placement.cxx.

◆ Transformation()

VGM::Transform RootGM::Placement::Transformation ( ) const
virtual

Return the 3D transformation (if simple placement)

Implements BaseVGM::VPlacement.

Definition at line 364 of file Placement.cxx.

◆ MultiplePlacementData()

bool RootGM::Placement::MultiplePlacementData ( VGM::Axis & axis,
int & nofItems,
double & width,
double & offset,
double & halfGap ) const
virtual

Fill the multiple placement data if relevant and return true; return false if not multiple placement.

Implements BaseVGM::VPlacement.

Definition at line 425 of file Placement.cxx.

◆ ParameterisedPlacementData()

bool RootGM::Placement::ParameterisedPlacementData ( std::vector< VGM::Transform > & transforms,
std::vector< VGM::IVolume * > & volumes ) const
virtual

Fill the parameterised placement data if relevant and return true; return false if not parameterised placement.

Implements VGM::IPlacement.

Definition at line 452 of file Placement.cxx.


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