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

#include <V1Layer.h>

Inherits o2::its::V11Geometry.

Public Types

enum  {
  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

 V1Layer ()
 
 V1Layer (Int_t debug, const char *name="ITS")
 
 V1Layer (Int_t lay, Int_t debug, const char *name="ITS")
 
 V1Layer (Int_t lay, Bool_t turbo, Int_t debug, const char *name="ITS")
 
 V1Layer (const V1Layer &source)
 Copy constructor.
 
V1Layeroperator= (const V1Layer &source)
 Assignment operator.
 
 ~V1Layer () override
 Default destructor.
 
Bool_t isTurbo () const
 
Double_t getStaveThick () 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 getZLength () const
 
Int_t getChipType () const
 
Int_t getNumberOfStavesPerParent () const
 
Int_t getNumberOfHalfStavesPerParent () const
 
Int_t getNumberOfModulesPerParent () const
 
Int_t getNumberOfChipsPerParent () const
 
Model getStaveModel () const
 
void setStaveThick (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 setZLength (Double_t z)
 
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 V1Layer.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kStave 
kHalfStave 
kModule 
kChip 
kNHLevels 

Definition at line 41 of file V1Layer.h.

◆ Model

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

Definition at line 49 of file V1Layer.h.

Constructor & Destructor Documentation

◆ V1Layer() [1/5]

V1Layer::V1Layer ( )

Definition at line 90 of file V1Layer.cxx.

◆ V1Layer() [2/5]

V1Layer::V1Layer ( Int_t  debug,
const char name = "ITS" 
)

Definition at line 113 of file V1Layer.cxx.

◆ V1Layer() [3/5]

V1Layer::V1Layer ( Int_t  lay,
Int_t  debug,
const char name = "ITS" 
)

Definition at line 136 of file V1Layer.cxx.

◆ V1Layer() [4/5]

V1Layer::V1Layer ( Int_t  lay,
Bool_t  turbo,
Int_t  debug,
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 159 of file V1Layer.cxx.

◆ V1Layer() [5/5]

V1Layer::V1Layer ( const V1Layer source)

Copy constructor.

Definition at line 182 of file V1Layer.cxx.

◆ ~V1Layer()

V1Layer::~V1Layer ( )
overridedefault

Default destructor.

Member Function Documentation

◆ createLayer()

void V1Layer::createLayer ( TGeoVolume *  motherVolume)
virtual

Creates the actual Layer and places inside its mother volume

Parameters
motherVolumethe TGeoVolume owing the volume structure

Definition at line 235 of file V1Layer.cxx.

◆ getChipType()

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

Definition at line 135 of file V1Layer.h.

◆ getNumberOfChips()

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

Definition at line 115 of file V1Layer.h.

◆ getNumberOfChipsPerParent()

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

Definition at line 155 of file V1Layer.h.

◆ getNumberOfHalfStavesPerParent()

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

Definition at line 145 of file V1Layer.h.

◆ getNumberOfModulesPerParent()

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

Definition at line 150 of file V1Layer.h.

◆ getNumberOfStaves()

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

Definition at line 110 of file V1Layer.h.

◆ getNumberOfStavesPerParent()

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

Definition at line 140 of file V1Layer.h.

◆ getPhi0()

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

Definition at line 125 of file V1Layer.h.

◆ getRadius()

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

Definition at line 120 of file V1Layer.h.

◆ getSensorThick()

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

Definition at line 105 of file V1Layer.h.

◆ getStaveModel()

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

Definition at line 160 of file V1Layer.h.

◆ getStaveThick()

Double_t o2::its::V1Layer::getStaveThick ( ) const
inline

Definition at line 90 of file V1Layer.h.

◆ getStaveTilt()

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

Definition at line 95 of file V1Layer.h.

◆ getStaveWidth()

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

Definition at line 100 of file V1Layer.h.

◆ getZLength()

Double_t o2::its::V1Layer::getZLength ( ) const
inline

Definition at line 130 of file V1Layer.h.

◆ isTurbo()

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

Definition at line 85 of file V1Layer.h.

◆ operator=()

V1Layer & V1Layer::operator= ( const V1Layer source)

Assignment operator.

Definition at line 205 of file V1Layer.cxx.

◆ setBuildLevel()

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

Definition at line 214 of file V1Layer.h.

◆ setChipType()

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

Definition at line 209 of file V1Layer.h.

◆ setNumberOfStaves()

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

Definition at line 183 of file V1Layer.h.

◆ setNumberOfUnits()

void V1Layer::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 2678 of file V1Layer.cxx.

◆ setPhi0()

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

Definition at line 199 of file V1Layer.h.

◆ setRadius()

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

Definition at line 194 of file V1Layer.h.

◆ setSensorThick()

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

Definition at line 178 of file V1Layer.h.

◆ setStaveModel()

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

Definition at line 219 of file V1Layer.h.

◆ setStaveThick()

void o2::its::V1Layer::setStaveThick ( Double_t  t)
inline

Definition at line 165 of file V1Layer.h.

◆ setStaveTilt()

void V1Layer::setStaveTilt ( Double_t  t)

Sets the Stave tilt angle (for turbo layers only)

Parameters
tThe stave tilt angle

Definition at line 2688 of file V1Layer.cxx.

◆ setStaveWidth()

void V1Layer::setStaveWidth ( Double_t  w)

Sets the Stave width (for turbo layers only)

Parameters
wThe stave width

Definition at line 2697 of file V1Layer.cxx.

◆ setZLength()

void o2::its::V1Layer::setZLength ( Double_t  z)
inline

Definition at line 204 of file V1Layer.h.


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