Skip to content

Commit 30943a2

Browse files
committed
Added cherenkov radiators
1 parent 5891a79 commit 30943a2

7 files changed

Lines changed: 171 additions & 108 deletions

File tree

DataFormats/Detectors/Upgrades/ALICE3/FD3/include/DataFormatsFD3/CalibParam.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ namespace fd3
2424
{
2525

2626
struct CalibParam : o2::conf::ConfigurableParamHelper<CalibParam> {
27-
static constexpr int Nchannels = 2 * Constants::nsect * (Constants::nrings + Constants::nrings_extra);
27+
static constexpr int Nchannels = 2 * Constants::nsect * (Constants::nringsScint + Constants::nringsCher);
2828
// Logic for obtaining bad channels and for making decision concerning slot finalization
2929
std::size_t mMinEntriesThreshold = 500; // Min number of entries
3030
std::size_t mMaxEntriesThreshold = 1000; // Max number of entries

Detectors/Upgrades/ALICE3/FD3/base/include/FD3Base/Constants.h

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,25 @@ namespace fd3
2323
{
2424
struct Constants {
2525
static constexpr unsigned int nsect = 8;
26-
static constexpr unsigned int nrings = 5;
27-
static constexpr unsigned int nrings_extra = 5;
28-
29-
static constexpr float etaMax = 7.0f;
30-
static constexpr float etaMin = 4.0f;
31-
32-
static constexpr float etaMax_extra = 4.0f;
33-
static constexpr float etaMin_extra = 2.0f;
26+
static constexpr unsigned int nringsScint = 5;
27+
static constexpr unsigned int nringsCher = 5;
28+
29+
static constexpr float etaMin_scint_v1 = 2.0f;
30+
static constexpr float etaMax_scint_v1 = 4.0f;
31+
static constexpr float etaMin_cher_v1 = 3.0f;
32+
static constexpr float etaMax_cher_v1 = 4.0f;
33+
34+
35+
static constexpr float etaMin_scint_v2 = 4.0f;
36+
static constexpr float etaMax_scint_v2 = 7.0f;
37+
static constexpr float etaMin_cher_v2 = 5.0f;
38+
static constexpr float etaMax_cher_v2 = 7.0f;
39+
40+
static constexpr float etaMin_scint_v3 = 2.0f;
41+
static constexpr float etaMax_scint_v3 = 5.0f;
42+
static constexpr float etaMin_cher_v3 = 5.0f;
43+
static constexpr float etaMax_cher_v3 = 7.0f;
44+
3445
};
3546

3647
} // namespace fd3

Detectors/Upgrades/ALICE3/FD3/base/include/FD3Base/FD3BaseParam.h

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,38 @@
1515
#include "FD3Base/GeometryTGeo.h"
1616
#include "FD3Base/Constants.h"
1717
#include "CommonUtils/ConfigurableParamHelper.h"
18+
#include <string>
1819

1920
namespace o2
2021
{
2122
namespace fd3
2223
{
24+
25+
//enum FD3GeoVersion = {
26+
// v1 = 0,
27+
// v2,
28+
// v3
29+
//};
30+
2331
struct FD3BaseParam : public o2::conf::ConfigurableParamHelper<FD3BaseParam> {
2432

25-
float zmodAC = 1500.0f;
26-
float zmodAC_extra = 400.0f;
33+
// float zmodAC = 1500.0f;
34+
// float zmodAC_extra = 400.0f;
2735

2836
float dzscint = 4.0f;
37+
float dzcher = 4.0f;
2938

3039
bool modules_extra = false; // switch for modules at z = +-4 m
40+
41+
//int geoVersion = FD3GeoVersion::v1;
42+
43+
float zscint_v1 = 370.0f;
44+
float zscint_v2 = 1500.0f;
45+
float zscint_v3 = 370.0f;
46+
47+
float zcher_v1 = 430.0f;
48+
float zcher_v2 = 1560.0f;
49+
float zcher_v3 = 1560.0f;
3150

3251
O2ParamDef(FD3BaseParam, "FD3Base");
3352
};

Detectors/Upgrades/ALICE3/FD3/simulation/include/FD3Simulation/Detector.h

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,12 @@ class Detector : public o2::base::DetImpl<Detector>
5757
o2::fd3::Hit* addHit(int trackId, unsigned int detId,
5858
const math_utils::Point3D<float>& startPos,
5959
const math_utils::Point3D<float>& endPos,
60-
const math_utils::Vector3D<float>& startMom, double startE,
61-
double endTime, double eLoss, int particlePdg);
60+
const math_utils::Vector3D<float>& startMom,
61+
double startE,
62+
double endTime,
63+
double eLoss,
64+
int particlePdg);
65+
6266
// unsigned int startStatus,
6367
// unsigned int endStatus);
6468

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

8791
enum EMedia {
8892
Scintillator,
89-
Aluminium
93+
Aluminium,
94+
MCPGlass,
95+
RadiatorOpticalGlass
9096
};
9197

9298
private:
@@ -96,23 +102,22 @@ class Detector : public o2::base::DetImpl<Detector>
96102
std::vector<o2::fd3::Hit>* mHits = nullptr;
97103
GeometryTGeo* mGeometryTGeo = nullptr;
98104

99-
TGeoVolumeAssembly* buildModuleA();
100-
TGeoVolumeAssembly* buildModuleC();
105+
TGeoVolumeAssembly* buildModuleScintA();
106+
TGeoVolumeAssembly* buildModuleScintC();
101107

102-
TGeoVolumeAssembly* buildModuleA_extra();
103-
TGeoVolumeAssembly* buildModuleC_extra();
108+
TGeoVolumeAssembly* buildModuleCherA();
109+
TGeoVolumeAssembly* buildModuleCherC();
104110

105-
float ringSize(float zmod, float eta);
111+
float getRingSize(float zmod, float eta);
106112

107-
bool mExtra;
108-
unsigned int mNumberOfRings, mNumberOfRings_extra, mNumberOfSectors;
109-
float mDzScint;
113+
unsigned int mNumberOfRingsScint, mNumberOfRingsCher, mNumberOfSectors;
114+
float mDzScint, mDzCher;
110115

111-
std::vector<float> mRingSizes = {}, mRingSizes_extra = {};
116+
std::vector<float> mRingSizesScint = {}, mRingSizesCher = {};
112117

113-
float mEtaMax, mEtaMin;
114-
float mEtaMax_extra, mEtaMin_extra;
115-
float mZAC, mZAC_extra;
118+
float mEtaMinScint, mEtaMaxScint ;
119+
float mEtaMaxCher, mEtaMinCher;
120+
float mZScint, mZCher;
116121

117122
void defineSensitiveVolumes();
118123
void definePassiveVolumes();

Detectors/Upgrades/ALICE3/FD3/simulation/include/FD3Simulation/DigitizationConstants.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ namespace o2
2020
namespace fd3
2121
{
2222
struct DigitizationConstants {
23-
static constexpr int NCELLSA = 2 * Constants::nrings * Constants::nsect; // number of scintillator cells side A
24-
static constexpr int NCELLSC = 2 * Constants::nrings * Constants::nsect; // number of scintillator cells side C
23+
static constexpr int NCELLSA = 2 * Constants::nringsScint * Constants::nsect; // number of scintillator cells side A
24+
static constexpr int NCELLSC = 2 * Constants::nringsScint * Constants::nsect; // number of scintillator cells side C
2525
static constexpr int NCELLSTOT = NCELLSA + NCELLSC; // total number of scintillator cells
26-
static constexpr int NCELLSA_extra = 2 * Constants::nrings_extra * Constants::nsect; // number of scintillator cells side A
27-
static constexpr int NCELLSC_extra = 2 * Constants::nrings_extra * Constants::nsect; // number of scintillator cells side C
26+
static constexpr int NCELLSA_extra = 2 * Constants::nringsCher * Constants::nsect; // number of scintillator cells side A
27+
static constexpr int NCELLSC_extra = 2 * Constants::nringsCher * Constants::nsect; // number of scintillator cells side C
2828
static constexpr int NCELLSTOT_extra = NCELLSTOT + NCELLSA_extra + NCELLSC_extra; // total number of scintillator cells
2929
static constexpr float INV_CHARGE_PER_ADC = 1. / 0.6e-12; // charge conversion
3030
static constexpr float TIME_PER_TDCCHANNEL = 0.01302; // time conversion from TDC channels to ns

0 commit comments

Comments
 (0)