FairShip
Loading...
Searching...
No Matches
splitcal.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// SPDX-FileCopyrightText: Copyright CERN for the benefit of the SHiP
3// Collaboration
4
5#ifndef SPLITCAL_SPLITCAL_H_
6#define SPLITCAL_SPLITCAL_H_
7
8#include <map>
9#include <vector>
10
11#include "Detector.h"
12#include "TLorentzVector.h"
13#include "TVector3.h"
14
15class splitcalPoint;
16class FairVolume;
17class TClonesArray;
18
19class splitcal : public SHiP::Detector<splitcalPoint> {
20 public:
25 splitcal(const char* Name, Bool_t Active);
26
28 splitcal();
29
33 Bool_t ProcessHits(FairVolume* v = 0) override;
34
35 void SetZStart(Double_t ZStart);
36 void SetEmpty(Double_t Empty, Double_t BigGap, Double_t ActiveECAL_gas_gap,
37 Double_t first_precision_layer, Double_t second_precision_layer,
38 Double_t third_precision_layer, Double_t num_precision_layers);
39
40 void SetThickness(Double_t ActiveECALThickness, Double_t ActiveHCALThickness,
41 Double_t FilterECALThickness,
42 Double_t FilterECALThickness_first,
43 Double_t FilterHCALThickness,
44 Double_t ActiveECAL_gas_Thickness);
45
46 void SetMaterial(Double_t ActiveECALMaterial, Double_t ActiveHCALMaterial,
47 Double_t FilterECALMaterial, Double_t FilterHCALMaterial);
48
49 void SetNSamplings(Int_t nECALSamplings, Int_t nHCALSamplings,
50 Double_t ActiveHCAL);
51
52 void SetNModules(Int_t nModulesInX, Int_t nModulesInY);
53
54 void SetNStrips(Int_t nStrips);
55
56 void SetStripSize(Double_t stripHalfWidth, Double_t stripHalfLength);
57
58 void SetXMax(Double_t xMax);
59
60 void SetYMax(Double_t yMax);
61
63 void ConstructGeometry() override;
64
65 private:
75 Double_t fActiveHCAL;
76 Double_t fZStart;
77 Double_t fEmpty, fBigGap;
78 Double_t fXMax;
79 Double_t fYMax;
85
88 splitcal(const splitcal&) = delete;
89 splitcal& operator=(const splitcal&) = delete;
90
91 ClassDefOverride(splitcal, 3)
92};
93
94#endif // SPLITCAL_SPLITCAL_H_
void SetStripSize(Double_t stripHalfWidth, Double_t stripHalfLength)
Definition: splitcal.cxx:138
Double_t fFilterHCALThickness
Definition: splitcal.h:70
Double_t fnum_precision_layers
Definition: splitcal.h:81
Double_t fActiveHCALThickness
Definition: splitcal.h:69
Int_t fNModulesInY
Definition: splitcal.h:82
Bool_t ProcessHits(FairVolume *v=0) override
Definition: splitcal.cxx:44
Double_t fFilterECALThickness_first
Definition: splitcal.h:70
Double_t fActiveECALThickness
Definition: splitcal.h:69
Double_t fFilterHCALMaterial
Definition: splitcal.h:72
void SetNModules(Int_t nModulesInX, Int_t nModulesInY)
Definition: splitcal.cxx:131
Double_t fActiveHCALMaterial
Definition: splitcal.h:71
Double_t fthird_precision_layer
Definition: splitcal.h:81
Double_t fActiveHCAL
Definition: splitcal.h:75
void SetXMax(Double_t xMax)
Definition: splitcal.cxx:143
Int_t fNStripsPerModule
Definition: splitcal.h:83
void SetZStart(Double_t ZStart)
Definition: splitcal.cxx:85
void ConstructGeometry() override
Definition: splitcal.cxx:145
void SetNSamplings(Int_t nECALSamplings, Int_t nHCALSamplings, Double_t ActiveHCAL)
Definition: splitcal.cxx:124
void SetYMax(Double_t yMax)
Definition: splitcal.cxx:144
void SetThickness(Double_t ActiveECALThickness, Double_t ActiveHCALThickness, Double_t FilterECALThickness, Double_t FilterECALThickness_first, Double_t FilterHCALThickness, Double_t ActiveECAL_gas_Thickness)
Definition: splitcal.cxx:101
Double_t xfFilterECALThickness
Definition: splitcal.h:70
splitcal & operator=(const splitcal &)=delete
Double_t fFilterECALMaterial
Definition: splitcal.h:71
Int_t fNModulesInX
Definition: splitcal.h:82
Double_t fActiveECAL_gas_gap
Definition: splitcal.h:73
Double_t fBigGap
Definition: splitcal.h:77
Double_t fActiveECAL_gas_Thickness
Definition: splitcal.h:73
Double_t fActiveECALMaterial
Definition: splitcal.h:71
Double_t fStripHalfLength
Definition: splitcal.h:84
Double_t fEmpty
Definition: splitcal.h:77
void SetNStrips(Int_t nStrips)
Definition: splitcal.cxx:136
Double_t fZStart
Definition: splitcal.h:76
Double_t fYMax
Definition: splitcal.h:79
Int_t fnHCALSamplings
Definition: splitcal.h:74
splitcal()
Definition: splitcal.cxx:39
Double_t fXMax
Definition: splitcal.h:78
Double_t fsecond_precision_layer
Definition: splitcal.h:80
Double_t ffirst_precision_layer
Definition: splitcal.h:80
splitcal(const splitcal &)=delete
Double_t fStripHalfWidth
Definition: splitcal.h:84
Double_t fFilterECALThickness
Definition: splitcal.h:69
void SetEmpty(Double_t Empty, Double_t BigGap, Double_t ActiveECAL_gas_gap, Double_t first_precision_layer, Double_t second_precision_layer, Double_t third_precision_layer, Double_t num_precision_layers)
Definition: splitcal.cxx:86
Int_t fnECALSamplings
Definition: splitcal.h:74
void SetMaterial(Double_t ActiveECALMaterial, Double_t ActiveHCALMaterial, Double_t FilterECALMaterial, Double_t FilterHCALMaterial)
Definition: splitcal.cxx:114