Project
Loading...
Searching...
No Matches
o2::its::V3Layer Class Reference

#include <V3Layer.h>

Inherits o2::its::V11Geometry.

Public Types

enum  {
  kHalfBarrel , kStave , kHalfStave , kModule ,
  kChip , kNHLevels
}
 
enum  Model {
  kIBModelDummy = 0 , kIBModel0 = 1 , kIBModel1 = 2 , kIBModel21 = 3 ,
  kIBModel22 = 4 , kIBModel3 = 5 , kIBModel4 = 10 , kOBModelDummy = 6 ,
  kOBModel0 = 7 , kOBModel1 = 8 , kOBModel2 = 9
}
 

Public Member Functions

 V3Layer ()
 
 V3Layer (Int_t lay, Bool_t turbo=kFALSE, Int_t debug=0, const char *name="ITS")
 
 V3Layer (const V3Layer &)=default
 Copy constructor.
 
V3Layeroperator= (const V3Layer &)=default
 Assignment operator.
 
 ~V3Layer () override
 Default destructor.
 
Bool_t isTurbo () const
 
Double_t getChipThick () const
 
Double_t getStaveTilt () const
 
Double_t getStaveWidth () const
 
Double_t getSensorThick () const
 
Double_t getNumberOfStaves () const
 
Double_t getNumberOfChips () const
 
Double_t getRadius () const
 
Double_t getPhi0 () const
 
Double_t getIBModuleZLength () const
 
Double_t getOBModuleZLength () const
 
Int_t getChipType () const
 
Int_t getNumberOfHalfBarrelsPerParent () const
 
Int_t getNumberOfStavesPerParent () const
 
Int_t getNumberOfHalfStavesPerParent () const
 
Int_t getNumberOfModulesPerParent () const
 
Int_t getNumberOfChipsPerParent () const
 
Int_t getBuildLevel () const
 
Model getStaveModel () const
 
void setChipThick (Double_t t)
 
void setStaveTilt (Double_t t)
 
void setStaveWidth (Double_t w)
 
void setSensorThick (Double_t t)
 
void setNumberOfStaves (Int_t n)
 
void setNumberOfUnits (Int_t u)
 
void setRadius (Double_t r)
 
void setPhi0 (Double_t phi)
 
void setChipType (Int_t tp)
 
void setBuildLevel (Int_t buildLevel)
 
void setStaveModel (Model model)
 
virtual void createLayer (TGeoVolume *motherVolume)
 
- Public Member Functions inherited from o2::its::V11Geometry
 V11Geometry ()
 
 V11Geometry (Int_t debug, const char *name="ITS")
 
 ~V11Geometry () override=default
 
void SetDetName (const char *name)
 Set detector name.
 
const charGetDetName () const
 Get detector name.
 
void setDebug (Int_t level=5)
 Sets the debug flag for debugging output.
 
void setNoDebug ()
 Clears the debug flag so no debugging output will be generated.
 
Bool_t getDebug (Int_t level=1) const
 Returns the debug flag value.
 
Double_t sinD (Double_t deg) const
 
Double_t cosD (Double_t deg) const
 Cosine function.
 
Double_t tanD (Double_t deg) const
 Tangent function.
 
void intersectLines (Double_t m, Double_t x0, Double_t y0, Double_t n, Double_t x1, Double_t y1, Double_t &xi, Double_t &yi) const
 
Double_t yFrom2Points (Double_t x0, Double_t y0, Double_t x1, Double_t y1, Double_t x) const
 
Double_t xFrom2Points (Double_t x0, Double_t y0, Double_t x1, Double_t y1, Double_t y) const
 
Double_t rMaxFrom2Points (const TGeoPcon *p, Int_t i1, Int_t i2, Double_t z) const
 
Double_t rMinFrom2Points (const TGeoPcon *p, Int_t i1, Int_t i2, Double_t z) const
 
Double_t rFrom2Points (const Double_t *ar, const Double_t *az, Int_t i1, Int_t i2, Double_t z) const
 
Double_t zFrom2MinPoints (const TGeoPcon *p, Int_t i1, Int_t i2, Double_t r) const
 
Double_t zFrom2MaxPoints (const TGeoPcon *p, Int_t i1, Int_t i2, Double_t r) const
 
Double_t zFrom2Points (const Double_t *az, const Double_t *ar, Int_t i1, Int_t i2, Double_t r) const
 
Double_t rMaxFromZpCone (const TGeoPcon *p, int ip, Double_t tc, Double_t z, Double_t th=0.0) const
 
Double_t rFromZpCone (const Double_t *ar, const Double_t *az, int ip, Double_t tc, Double_t z, Double_t th=0.0) const
 
Double_t rMinFromZpCone (const TGeoPcon *p, Int_t ip, Double_t tc, Double_t z, Double_t th=0.0) const
 
Double_t zFromRMaxpCone (const TGeoPcon *p, int ip, Double_t tc, Double_t r, Double_t th=0.0) const
 
Double_t zFromRMaxpCone (const Double_t *ar, const Double_t *az, Int_t ip, Double_t tc, Double_t r, Double_t th=0.0) const
 
Double_t zFromRMinpCone (const TGeoPcon *p, int ip, Double_t tc, Double_t r, Double_t th=0.0) const
 
void insidePoint (const TGeoPcon *p, Int_t i1, Int_t i2, Int_t i3, Double_t Cthick, TGeoPcon *q, Int_t j1, Bool_t max) const
 
void insidePoint (Double_t x0, Double_t y0, Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t c, Double_t &x, Double_t &y) const
 
void radiusOfCurvature (Double_t rc, Double_t theta0, Double_t z0, Double_t r0, Double_t theta1, Double_t &z1, Double_t &r1) const
 
void printArb8 (const TGeoArb8 *a) const
 
void printPcon (const TGeoPcon *a) const
 
void printTube (const TGeoTube *a) const
 
void printTubeSeg (const TGeoTubeSeg *a) const
 
void printConeSeg (const TGeoConeSeg *a) const
 
void printBBox (const TGeoBBox *a) const
 
void drawCrossSection (const TGeoPcon *p, Int_t fillc=7, Int_t fills=4050, Int_t linec=3, Int_t lines=1, Int_t linew=4, Int_t markc=2, Int_t marks=4, Float_t marksize=1.0) const
 
Bool_t angleOfIntersectionWithLine (Double_t x0, Double_t y0, Double_t x1, Double_t y1, Double_t xc, Double_t yc, Double_t rc, Double_t &t0, Double_t &t1) const
 
void anglesForRoundedCorners (Double_t x0, Double_t y0, Double_t r0, Double_t x1, Double_t y1, Double_t r1, Double_t &t0, Double_t &t1) const
 
void createDefaultMaterials ()
 
virtual void createMaterials ()
 
void makeFigure1 (Double_t x0=0.0, Double_t y0=0.0, Double_t r0=2.0, Double_t x1=-4.0, Double_t y1=-2.0, Double_t r1=1.0)
 

Additional Inherited Members

- Static Public Member Functions inherited from o2::its::V11Geometry
static Bool_t intersectCircle (Double_t m, Double_t x0, Double_t y0, Double_t rr, Double_t xc, Double_t yc, Double_t &xi1, Double_t &yi1, Double_t &xi2, Double_t &yi2)
 
- Static Protected Attributes inherited from o2::its::V11Geometry
static const Double_t sMicron = 1.0E-4
 Convert micron to TGeom's cm.
 
static const Double_t sMm = 0.10
 Convert mm to TGeom's cm.
 
static const Double_t sCm = 1.00
 Convert cm to TGeom's cm.
 
static const Double_t sDegree = 1.0
 Convert degrees to TGeom's degrees.
 
static const Double_t sRadian = 180. / 3.14159265358979323846
 To Radians.
 
static const Double_t sGCm3 = 1.0
 Density in g/cm^3.
 
static const Double_t sKgm3 = 1.0E+3
 Density in kg/m^3.
 
static const Double_t sKgdm3 = 1.0
 Density in kg/dm^3.
 
static const Double_t sCelsius = 1.0
 Temperature in degrees Celcius.
 
static const Double_t sPascal = 1.0E-3
 Preasure in Pascal.
 
static const Double_t sKPascal = 1.0
 Preasure in KPascal.
 
static const Double_t sEV = 1.0E-9
 Energy in eV.
 
static const Double_t sKEV = 1.0e-6
 Energy in KeV.
 
static const Double_t sMEV = 1.0e-3
 Energy in MeV.
 
static const Double_t sGEV = 1.0
 Energy in GeV.
 

Detailed Description

This class defines the Geometry for the ITS using TGeo. This is a work class used to study different configurations during the development of the new ITS structure.

Definition at line 37 of file V3Layer.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kHalfBarrel 
kStave 
kHalfStave 
kModule 
kChip 
kNHLevels 

Definition at line 41 of file V3Layer.h.

◆ Model

Enumerator
kIBModelDummy 
kIBModel0 
kIBModel1 
kIBModel21 
kIBModel22 
kIBModel3 
kIBModel4 
kOBModelDummy 
kOBModel0 
kOBModel1 
kOBModel2 

Definition at line 48 of file V3Layer.h.

Constructor & Destructor Documentation

◆ V3Layer() [1/3]

V3Layer::V3Layer ( )

Definition at line 255 of file V3Layer.cxx.

◆ V3Layer() [2/3]

V3Layer::V3Layer ( Int_t  lay,
Bool_t  turbo = kFALSE,
Int_t  debug = 0,
const char name = "ITS" 
)

Constructor setting layer number and debugging level for a "turbo" layer (i.e. where staves overlap in phi)

Definition at line 279 of file V3Layer.cxx.

◆ V3Layer() [3/3]

o2::its::V3Layer::V3Layer ( const V3Layer )
default

Copy constructor.

◆ ~V3Layer()

V3Layer::~V3Layer ( )
overridedefault

Default destructor.

Member Function Documentation

◆ createLayer()

void V3Layer::createLayer ( TGeoVolume *  motherVolume)
virtual

Creates the actual Layer and places inside its mother volume

Parameters
motherVolumethe TGeoVolume owing the volume structure

Definition at line 305 of file V3Layer.cxx.

◆ getBuildLevel()

Int_t o2::its::V3Layer::getBuildLevel ( ) const
inline

Definition at line 112 of file V3Layer.h.

◆ getChipThick()

Double_t o2::its::V3Layer::getChipThick ( ) const
inline

Definition at line 80 of file V3Layer.h.

◆ getChipType()

Int_t o2::its::V3Layer::getChipType ( ) const
inline

Definition at line 100 of file V3Layer.h.

◆ getIBModuleZLength()

Double_t o2::its::V3Layer::getIBModuleZLength ( ) const
inline

Definition at line 96 of file V3Layer.h.

◆ getNumberOfChips()

Double_t o2::its::V3Layer::getNumberOfChips ( ) const
inline

Definition at line 90 of file V3Layer.h.

◆ getNumberOfChipsPerParent()

Int_t o2::its::V3Layer::getNumberOfChipsPerParent ( ) const
inline

Definition at line 110 of file V3Layer.h.

◆ getNumberOfHalfBarrelsPerParent()

Int_t o2::its::V3Layer::getNumberOfHalfBarrelsPerParent ( ) const
inline

Definition at line 102 of file V3Layer.h.

◆ getNumberOfHalfStavesPerParent()

Int_t o2::its::V3Layer::getNumberOfHalfStavesPerParent ( ) const
inline

Definition at line 106 of file V3Layer.h.

◆ getNumberOfModulesPerParent()

Int_t o2::its::V3Layer::getNumberOfModulesPerParent ( ) const
inline

Definition at line 108 of file V3Layer.h.

◆ getNumberOfStaves()

Double_t o2::its::V3Layer::getNumberOfStaves ( ) const
inline

Definition at line 88 of file V3Layer.h.

◆ getNumberOfStavesPerParent()

Int_t o2::its::V3Layer::getNumberOfStavesPerParent ( ) const
inline

Definition at line 104 of file V3Layer.h.

◆ getOBModuleZLength()

Double_t o2::its::V3Layer::getOBModuleZLength ( ) const
inline

Definition at line 98 of file V3Layer.h.

◆ getPhi0()

Double_t o2::its::V3Layer::getPhi0 ( ) const
inline

Definition at line 94 of file V3Layer.h.

◆ getRadius()

Double_t o2::its::V3Layer::getRadius ( ) const
inline

Definition at line 92 of file V3Layer.h.

◆ getSensorThick()

Double_t o2::its::V3Layer::getSensorThick ( ) const
inline

Definition at line 86 of file V3Layer.h.

◆ getStaveModel()

Model o2::its::V3Layer::getStaveModel ( ) const
inline

Definition at line 114 of file V3Layer.h.

◆ getStaveTilt()

Double_t o2::its::V3Layer::getStaveTilt ( ) const
inline

Definition at line 82 of file V3Layer.h.

◆ getStaveWidth()

Double_t o2::its::V3Layer::getStaveWidth ( ) const
inline

Definition at line 84 of file V3Layer.h.

◆ isTurbo()

Bool_t o2::its::V3Layer::isTurbo ( ) const
inline

Definition at line 78 of file V3Layer.h.

◆ operator=()

V3Layer & o2::its::V3Layer::operator= ( const V3Layer )
default

Assignment operator.

◆ setBuildLevel()

void o2::its::V3Layer::setBuildLevel ( Int_t  buildLevel)
inline

Definition at line 142 of file V3Layer.h.

◆ setChipThick()

void o2::its::V3Layer::setChipThick ( Double_t  t)
inline

Definition at line 116 of file V3Layer.h.

◆ setChipType()

void o2::its::V3Layer::setChipType ( Int_t  tp)
inline

Definition at line 140 of file V3Layer.h.

◆ setNumberOfStaves()

void o2::its::V3Layer::setNumberOfStaves ( Int_t  n)
inline

Definition at line 128 of file V3Layer.h.

◆ setNumberOfUnits()

void V3Layer::setNumberOfUnits ( Int_t  u)

Sets the number of units in a stave: for the Inner Barrel: the number of chips per stave for the Outer Barrel: the number of modules per half stave

Parameters
uthe number of units

Definition at line 3644 of file V3Layer.cxx.

◆ setPhi0()

void o2::its::V3Layer::setPhi0 ( Double_t  phi)
inline

Definition at line 138 of file V3Layer.h.

◆ setRadius()

void o2::its::V3Layer::setRadius ( Double_t  r)
inline

Definition at line 136 of file V3Layer.h.

◆ setSensorThick()

void o2::its::V3Layer::setSensorThick ( Double_t  t)
inline

Definition at line 126 of file V3Layer.h.

◆ setStaveModel()

void o2::its::V3Layer::setStaveModel ( Model  model)
inline

Definition at line 144 of file V3Layer.h.

◆ setStaveTilt()

void V3Layer::setStaveTilt ( Double_t  t)

Sets the Stave tilt angle (for turbo layers only)

Parameters
tThe stave tilt angle

Definition at line 3654 of file V3Layer.cxx.

◆ setStaveWidth()

void V3Layer::setStaveWidth ( Double_t  w)

Sets the Stave width (for turbo layers only)

Parameters
wThe stave width

Definition at line 3663 of file V3Layer.cxx.


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