| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 3dd3d86 commit f3d21ea
38 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -13,8 +13,7 @@ o2_add_library(ITSBase | |||
| 13 | 13 | SOURCES src/GeometryTGeo.cxx src/ContainerFactory.cxx | |
| 14 | 14 | src/MisalignmentParameter.cxx | |
| 15 | 15 | src/DescriptorInnerBarrel.cxx | |
| 16 | - PUBLIC_LINK_LIBRARIES O2::DetectorsBase O2::ITSMFTBase) | ||
| 17 | - | ||
| 16 | + PUBLIC_LINK_LIBRARIES O2::DetectorsBase O2::ITSMFTBase $<$<BOOL:${ENABLE_UPGRADES}>:O2::ITS3Base>) | ||
| 18 | 17 | o2_target_root_dictionary(ITSBase | |
| 19 | 18 | HEADERS include/ITSBase/GeometryTGeo.h | |
| 20 | 19 | include/ITSBase/ContainerFactory.h | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -19,6 +19,7 @@ | |||
| 19 | 19 | #include <vector> | |
| 20 | 20 | #include <TObject.h> | |
| 21 | 21 | #include <TGeoTube.h> | |
| 22 | + #include <TMath.h> | ||
| 22 | 23 | ||
| 23 | 24 | namespace o2 | |
| 24 | 25 | { | |
@@ -41,28 +42,24 @@ class DescriptorInnerBarrel : public TObject | |||
| 41 | 42 | return TMath::ASin((rMax * rMax - rMin * rMin) / (2 * rMid * sensW)) * TMath::RadToDeg(); | |
| 42 | 43 | } | |
| 43 | 44 | ||
| 44 | - int GetNumberOfLayers() const { return fNumLayers; } | ||
| 45 | - double GetSensorThickness() const { return fSensorLayerThickness; } | ||
| 46 | - void GetConfigurationWrapperVolume(double& minradius, double& maxradius, double& zspan); | ||
| 47 | - TGeoTube* DefineWrapperVolume(); | ||
| 45 | + int getNumberOfLayers() const { return mNumLayers; } | ||
| 46 | + double getSensorThickness() const { return mSensorLayerThickness; } | ||
| 47 | + void getConfigurationWrapperVolume(double& minradius, double& maxradius, double& zspan); | ||
| 48 | + TGeoTube* defineWrapperVolume(); | ||
| 48 | 49 | ||
| 49 | 50 | protected: | |
| 50 | - int fNumLayers{3}; | ||
| 51 | + int mNumLayers{3}; | ||
| 51 | 52 | ||
| 52 | 53 | // wrapper volume properties | |
| 53 | - double fWrapperMinRadius{2.1}; | ||
| 54 | - double fWrapperMaxRadius{16.4}; | ||
| 55 | - double fWrapperZSpan{70.}; | ||
| 56 | - | ||
| 57 | - // sensor properties | ||
| 58 | - double fSensorLayerThickness{}; | ||
| 54 | + double mWrapperMinRadius{2.1}; | ||
| 55 | + double mWrapperMaxRadius{16.4}; | ||
| 56 | + double mWrapperZSpan{70.}; | ||
| 59 | 57 | ||
| 60 | 58 | // layer properties | |
| 61 | - std::vector<double> fLayerRadii{}; | ||
| 62 | - std::vector<double> fLayerZLen{}; | ||
| 63 | - std::vector<double> fDetectorThickness{}; | ||
| 64 | - std::vector<int> fChipTypeID{}; | ||
| 65 | - std::vector<int> fBuildLevel{}; | ||
| 59 | + double mSensorLayerThickness{}; // sensor thickness | ||
| 60 | + std::vector<double> mLayerRadii{}; // Vector of layer radius | ||
| 61 | + std::vector<double> mDetectorThickness{}; // Vector of detector thickness | ||
| 62 | + std::vector<int> mChipTypeID{}; //! Vector of unique chip ID | ||
| 66 | 63 | ||
| 67 | 64 | /// \cond CLASSIMP | |
| 68 | 65 | ClassDef(DescriptorInnerBarrel, 1); /// ITS inner barrel geometry descriptor | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -272,25 +272,33 @@ class GeometryTGeo : public o2::itsmft::GeometryTGeo | |||
| 272 | 272 | static void setITSModulePattern(const char* nm) { sModuleName = nm; } | |
| 273 | 273 | static void setITSChipPattern(const char* nm) { sChipName = nm; } | |
| 274 | 274 | static void setITSSensorPattern(const char* nm) { sSensorName = nm; } | |
| 275 | + | ||
| 276 | + static const char* getITS3LayerPattern() { return sLayerNameITS3.c_str(); } | ||
| 277 | + static const char* getITS3HalfBarrelPattern() { return sHalfBarrelNameITS3.c_str(); } | ||
| 278 | + static const char* getITS3StavePattern() { return sStaveNameITS3.c_str(); } | ||
| 279 | + static const char* getITS3HalfStavePattern() { return sHalfStaveNameITS3.c_str(); } | ||
| 280 | + static const char* getITS3ModulePattern() { return sModuleNameITS3.c_str(); } | ||
| 281 | + static const char* getITS3ChipPattern() { return sChipNameITS3.c_str(); } | ||
| 282 | + static const char* getITS3SensorPattern() { return sSensorNameITS3.c_str(); } | ||
| 275 | 283 | /// sym name of the layer | |
| 276 | - static const char* composeSymNameITS() { return o2::detectors::DetID(o2::detectors::DetID::ITS).getName(); } | ||
| 284 | + static const char* composeSymNameITS(bool isITS3 = false); | ||
| 277 | 285 | /// sym name of the layer | |
| 278 | - static const char* composeSymNameLayer(int lr); | ||
| 286 | + static const char* composeSymNameLayer(int lr, bool isITS3 = false); | ||
| 279 | 287 | ||
| 280 | 288 | /// Sym name of the half barrel at given layer | |
| 281 | - static const char* composeSymNameHalfBarrel(int lr, int hba); | ||
| 289 | + static const char* composeSymNameHalfBarrel(int lr, int hba, bool isITS3 = false); | ||
| 282 | 290 | ||
| 283 | 291 | /// Sym name of the stave at given layer | |
| 284 | - static const char* composeSymNameStave(int lr, int hba, int sta); | ||
| 292 | + static const char* composeSymNameStave(int lr, int hba, int sta, bool isITS3 = false); | ||
| 285 | 293 | ||
| 286 | 294 | /// Sym name of the stave at given layer/halfbarrel | |
| 287 | - static const char* composeSymNameHalfStave(int lr, int hba, int sta, int ssta); | ||
| 295 | + static const char* composeSymNameHalfStave(int lr, int hba, int sta, int ssta, bool isITS3 = false); | ||
| 288 | 296 | ||
| 289 | 297 | /// Sym name of the substave at given layer/halfbarrel/stave | |
| 290 | - static const char* composeSymNameModule(int lr, int hba, int sta, int ssta, int mod); | ||
| 298 | + static const char* composeSymNameModule(int lr, int hba, int sta, int ssta, int mod, bool isITS3 = false); | ||
| 291 | 299 | ||
| 292 | 300 | /// Sym name of the chip in the given layer/halfbarrel/stave/substave/module | |
| 293 | - static const char* composeSymNameChip(int lr, int hba, int sta, int ssta, int mod, int chip); | ||
| 301 | + static const char* composeSymNameChip(int lr, int hba, int sta, int ssta, int mod, int chip, bool isITS3 = false); | ||
| 294 | 302 | ||
| 295 | 303 | protected: | |
| 296 | 304 | /// Get the transformation matrix of the SENSOR (not necessary the same as the chip) | |
@@ -365,6 +373,7 @@ class GeometryTGeo : public o2::itsmft::GeometryTGeo | |||
| 365 | 373 | std::vector<int> mNumberOfChipsPerHalfBarrel; ///< number of chips per halfbarrel | |
| 366 | 374 | std::vector<int> mNumberOfChipsPerLayer; ///< number of chips per stave | |
| 367 | 375 | std::vector<int> mLastChipIndex; ///< max ID of the detctor in the layer | |
| 376 | + std::array<bool, MAXLAYERS> mIsLayerITS3; ///< flag with the information of the ITS version (ITS2 or ITS3) | ||
| 368 | 377 | std::array<char, MAXLAYERS> mLayerToWrapper; ///< Layer to wrapper correspondence | |
| 369 | 378 | ||
| 370 | 379 | std::vector<float> mCacheRefX; ///< sensors tracking plane reference X | |
@@ -380,6 +389,14 @@ class GeometryTGeo : public o2::itsmft::GeometryTGeo | |||
| 380 | 389 | static std::string sSensorName; ///< Sensor name | |
| 381 | 390 | static std::string sWrapperVolumeName; ///< Wrapper volume name | |
| 382 | 391 | ||
| 392 | + static std::string sLayerNameITS3; ///< Layer name for ITS3 | ||
| 393 | + static std::string sHalfBarrelNameITS3; ///< HalfBarrel name for ITS3 | ||
| 394 | + static std::string sStaveNameITS3; ///< Stave name for ITS3 | ||
| 395 | + static std::string sHalfStaveNameITS3; ///< HalfStave name for ITS3 | ||
| 396 | + static std::string sModuleNameITS3; ///< Module name for ITS3 | ||
| 397 | + static std::string sChipNameITS3; ///< Chip name for ITS3 | ||
| 398 | + static std::string sSensorNameITS3; ///< Sensor name for ITS3 | ||
| 399 | + | ||
| 383 | 400 | private: | |
| 384 | 401 | #ifndef GPUCA_STANDALONE | |
| 385 | 402 | static std::unique_ptr<o2::its::GeometryTGeo> sInstance; ///< singletone instance | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -44,24 +44,24 @@ DescriptorInnerBarrel::DescriptorInnerBarrel() : TObject() | |||
| 44 | 44 | } | |
| 45 | 45 | ||
| 46 | 46 | //________________________________________________________________ | |
| 47 | - DescriptorInnerBarrel::DescriptorInnerBarrel(int nlayers) : TObject(), fNumLayers(nlayers) | ||
| 47 | + DescriptorInnerBarrel::DescriptorInnerBarrel(int nlayers) : TObject(), mNumLayers(nlayers) | ||
| 48 | 48 | { | |
| 49 | 49 | // | |
| 50 | 50 | // Standard constructor | |
| 51 | 51 | // | |
| 52 | 52 | } | |
| 53 | 53 | ||
| 54 | 54 | //________________________________________________________________ | |
| 55 | - void DescriptorInnerBarrel::GetConfigurationWrapperVolume(double& minradius, double& maxradius, double& zspan) | ||
| 55 | + void DescriptorInnerBarrel::getConfigurationWrapperVolume(double& minradius, double& maxradius, double& zspan) | ||
| 56 | 56 | { | |
| 57 | - minradius = fWrapperMinRadius; | ||
| 58 | - maxradius = fWrapperMaxRadius; | ||
| 59 | - zspan = fWrapperZSpan; | ||
| 57 | + minradius = mWrapperMinRadius; | ||
| 58 | + maxradius = mWrapperMaxRadius; | ||
| 59 | + zspan = mWrapperZSpan; | ||
| 60 | 60 | } | |
| 61 | 61 | ||
| 62 | 62 | //________________________________________________________________ | |
| 63 | - TGeoTube* DescriptorInnerBarrel::DefineWrapperVolume() | ||
| 63 | + TGeoTube* DescriptorInnerBarrel::defineWrapperVolume() | ||
| 64 | 64 | { | |
| 65 | - TGeoTube* wrap = new TGeoTube(fWrapperMinRadius, fWrapperMaxRadius, fWrapperZSpan / 2.); | ||
| 65 | + TGeoTube* wrap = new TGeoTube(mWrapperMinRadius, mWrapperMaxRadius, mWrapperZSpan / 2.); | ||
| 66 | 66 | return wrap; | |
| 67 | 67 | } | |
| Back | FazBrowse Home | New Git URL |
0 commit comments