Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
680cdb6
new geometry
pkurash Jul 15, 2026
de62c6c
new geometry
pkurash Jul 15, 2026
986b4c1
added asymmetric configuration
pkurash Jul 18, 2026
ce48a1c
added asymmetric configuration
pkurash Jul 18, 2026
eb918fb
Merge branch 'AliceO2Group:dev' into new_geometry
pkurash Jul 18, 2026
e51e253
Added functions for Cherenkov module segmentation
pkurash Jul 20, 2026
71ee836
Hits fixed
pkurash Jul 21, 2026
93d3b0e
Merge branch 'AliceO2Group:dev' into new_geometry
pkurash Jul 21, 2026
184aadc
Hits fixed
pkurash Jul 21, 2026
c818493
Three differen functions for building Cherenkov modules
pkurash Jul 22, 2026
f877601
introduced new constants
pkurash Jul 24, 2026
88209c7
Merge branch 'AliceO2Group:dev' into new_geometry
pkurash Jul 24, 2026
6216bbb
Merge branch 'AliceO2Group:dev' into new_geometry
pkurash Aug 5, 2026
eaadb0c
fix cherenkov geometry
pkurash Aug 6, 2026
f751955
Merge branch 'AliceO2Group:dev' into new_geometry
pkurash Aug 9, 2026
52b61fd
Merge branch 'AliceO2Group:dev' into new_geometry
pkurash Aug 9, 2026
a159007
Merge branch 'AliceO2Group:dev' into new_geometry
pkurash Aug 15, 2026
ea42210
Merge branch 'AliceO2Group:dev' into new_geometry
pkurash Aug 17, 2026
f76da28
Merge branch 'AliceO2Group:dev' into new_geometry
pkurash Aug 19, 2026
3e7d675
remove unnecessary logs
pkurash Aug 24, 2026
19389d4
Changed Cherenkov modules numbering
pkurash Aug 28, 2026
c9f9c9e
Merge branch 'AliceO2Group:dev' into new_geometry
pkurash Aug 28, 2026
e4a37eb
Cherenkov channels numbering
pkurash Aug 28, 2026
9748ff9
Merge branch 'new_geometry' of github.com:pkurash/AliceO2 into new_ge…
pkurash Aug 28, 2026
23d6e28
Set sizes of quartz radiators
pkurash Aug 29, 2026
8aa625f
corrected radiator module distance
pkurash Sep 1, 2026
b2c77b2
corrected radiator module distance
pkurash Sep 3, 2026
b8f838e
Merge branch 'AliceO2Group:dev' into new_geometry
pkurash Sep 3, 2026
0a7a750
corrected scintillator module position
pkurash Sep 3, 2026
ffea2f7
Merge branch 'AliceO2Group:dev' into new_geometry
pkurash Sep 8, 2026
8dde3a8
removed obsolete variables and funcions
pkurash Sep 12, 2026
9447ae0
Merge branch 'new_geometry' of github.com:pkurash/AliceO2 into new_ge…
pkurash Sep 12, 2026
fd042a4
removed obsolete variables and funcions
pkurash Sep 12, 2026
07b3e74
removed obsolete variables and funcions
pkurash Sep 12, 2026
392421f
Merge branch 'AliceO2Group:dev' into new_geometry
pkurash Sep 12, 2026
d7ce7e2
remove dat files
pkurash Sep 13, 2026
4706dc8
Merge branch 'new_geometry' of github.com:pkurash/AliceO2 into new_ge…
pkurash Sep 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ class SimTraits
/*RCH*/ VS{ "RCHHit" },
/*MI3*/ VS{ "MI3Hit" },
/*ECL*/ VS{ "ECLHit" },
/*FD */ VS{ "FDHit" }
/*FD3*/ VS{ "FD3Hit" }
#endif
};
// clang-format on
Expand Down Expand Up @@ -176,6 +176,10 @@ namespace focal
{
class Hit;
}
namespace fd3
{
class Hit;
}
namespace detectors
{

Expand Down Expand Up @@ -260,6 +264,10 @@ template <>
struct DetIDToHitTypes<o2::detectors::DetID::FCT> {
using HitType = o2::itsmft::Hit;
};
template <>
struct DetIDToHitTypes<o2::detectors::DetID::FD3> {
using HitType = o2::fd3::Hit;
};
#endif

} // namespace detectors
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
/// \file Hit.h
/// \brief Definition of the FD3 Hit class (based on ITSMFT and FV0)

#ifndef ALICEO2_FVD_HIT_H_
#define ALICEO2_FVD_HIT_H_
#ifndef ALICEO2_FD3_HIT_H_
#define ALICEO2_FD3_HIT_H_

#include <iosfwd>
#include "SimulationDataFormat/BaseHits.h" // for BasicXYZEHit
Expand Down
25 changes: 14 additions & 11 deletions Detectors/Upgrades/ALICE3/FD3/base/include/FD3Base/Constants.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
// Copyright 2019-2026 CERN and copyright holders of ALICE O2.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
//
Expand All @@ -10,9 +10,7 @@
// or submit itself to any jurisdiction.

/// \file Constants.h
/// \brief General constants in FV0
///
/// \author Maciej Slupecki, University of Jyvaskyla, Finland
/// \brief General constants in FD3

#ifndef ALICEO2_FD3_CONSTANTS_
#define ALICEO2_FD3_CONSTANTS_
Expand All @@ -22,15 +20,20 @@ namespace o2
namespace fd3
{
struct Constants {
static constexpr unsigned int nsect = 8;
static constexpr unsigned int nringsA = 5;
static constexpr unsigned int nringsC = 6;
static constexpr unsigned int nSectScint = 8;
static constexpr unsigned int nRingsScint = 5;

static constexpr float etaMax = 7.0f;
static constexpr float etaMin = 4.0f;
static constexpr float zScint = 420.0f;
static constexpr float zCher = 430.0f;

static constexpr unsigned int nringsA_withMG = 3;
static constexpr float etaMinA_withMG = 5.0f;
static constexpr float dzScint = 4.0f;
static constexpr float dzCher = 2.0f;

static constexpr float etaMin = 2.5f;
static constexpr float etaMax = 4.9f;
static constexpr float etaMax2 = 5.5f; // asymmetric configuration

static constexpr float rsizeq = 1.025f; // quartz radiator transverse size
};

} // namespace fd3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,16 @@
#include "FD3Base/GeometryTGeo.h"
#include "FD3Base/Constants.h"
#include "CommonUtils/ConfigurableParamHelper.h"
#include <string>

namespace o2
{
namespace fd3
{
struct FD3BaseParam : public o2::conf::ConfigurableParamHelper<FD3BaseParam> {

float zmodA = 1700.0f;
float zmodC = -1850.0f;
float dzscint = 4.0f;

bool withMG = false; // modified geometry with 3 rings on A side
struct FD3BaseParam : public o2::conf::ConfigurableParamHelper<FD3BaseParam> {

bool plateBehindA = false;
bool fullContainer = false;
float dzplate = 1.0f; // Aluminium plate width
bool isSymmetric = true;

O2ParamDef(FD3BaseParam, "FD3Base");
};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
// Copyright 2019-2026 CERN and copyright holders of ALICE O2.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
//
Expand All @@ -8,6 +8,7 @@
// In applying this license CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.

#ifndef ALICEO2_FD3_GEOMETRYTGEO_H_
#define ALICEO2_FD3_GEOMETRYTGEO_H_

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
// Copyright 2019-2026 CERN and copyright holders of ALICE O2.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
//
Expand Down Expand Up @@ -57,8 +57,12 @@ class Detector : public o2::base::DetImpl<Detector>
o2::fd3::Hit* addHit(int trackId, unsigned int detId,
const math_utils::Point3D<float>& startPos,
const math_utils::Point3D<float>& endPos,
const math_utils::Vector3D<float>& startMom, double startE,
double endTime, double eLoss, int particlePdg);
const math_utils::Vector3D<float>& startMom,
double startE,
double endTime,
double eLoss,
int particlePdg);

// unsigned int startStatus,
// unsigned int endStatus);

Expand Down Expand Up @@ -86,7 +90,9 @@ class Detector : public o2::base::DetImpl<Detector>

enum EMedia {
Scintillator,
Aluminium
RadiatorOpticalGlass,
Aluminium,
MCPGlass
};

private:
Expand All @@ -96,20 +102,14 @@ class Detector : public o2::base::DetImpl<Detector>
std::vector<o2::fd3::Hit>* mHits = nullptr;
GeometryTGeo* mGeometryTGeo = nullptr;

TGeoVolumeAssembly* buildModuleA();
TGeoVolumeAssembly* buildModuleC();

float ringSize(float zmod, float eta);

unsigned int mNumberOfRingsA, mNumberOfRingsC, mNumberOfSectors;
float mDzScint, mDzPlate;

std::vector<float> mRingSizesA = {}, mRingSizesC = {};
TGeoVolumeAssembly* buildModuleScint(float etaMin, float etaMax);
TGeoVolumeAssembly* buildModuleCherenkov_v1();
TGeoVolumeAssembly* buildModuleCherenkov_v2();

float mEtaMaxA, mEtaMaxC, mEtaMinA, mEtaMinC;
float mZA, mZC;
int mChannelCounter;
std::map<int, int> mChannelId;

bool mPlateBehindA, mFullContainer;
float getRingSize(float zmod, float eta);

void defineSensitiveVolumes();
void definePassiveVolumes();
Expand Down
Loading
Loading