FairShip
Loading...
Searching...
No Matches
exitHadronAbsorber.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 MUONSHIELDOPTIMIZATION_EXITHADRONABSORBER_H_
6#define MUONSHIELDOPTIMIZATION_EXITHADRONABSORBER_H_
7
8#include "Detector.h"
9#include "TFile.h"
10#include "TNtuple.h"
11#include "vetoPoint.h"
12
13class FairVolume;
14
15class exitHadronAbsorber : public SHiP::Detector<vetoPoint> {
16 public:
17 exitHadronAbsorber(const char* Name, Bool_t Active);
19
20 void Initialize() override;
21
22 Bool_t ProcessHits(FairVolume* v = 0) override;
23
24 void Register() override;
25
26 void ConstructGeometry() override;
27
28 void FinishRun() override;
29 void PreTrack() override;
30
31 inline void SetEnergyCut(Float_t emax) { EMax = emax; }
32 inline void SetOnlyMuons() { fOnlyMuons = kTRUE; }
33 inline void SetOpt4DP() { withNtuple = kTRUE; }
34 inline void SkipNeutrinos() { fSkipNeutrinos = kTRUE; }
35 inline void SetZposition(Float_t x) { fzPos = x; }
36 inline void SetVetoPointName(TString name) { fVetoName = name; }
37 inline void SetCylindricalPlane() { fCylindricalPlane = kTRUE; }
38 inline void SetUseCaveCoordinates() { fUseCaveCoordinates = kTRUE; }
39
40 private:
41 Int_t fUniqueID;
42 Bool_t fOnlyMuons;
44 TString fVetoName; // name to save veto collection
45 Double_t fzPos;
46 Bool_t withNtuple;
47 TNtuple* fNtuple;
48 Float_t EMax;
51
52 TFile* fout;
53 TClonesArray* fElectrons;
54 Int_t index;
55 ClassDefOverride(exitHadronAbsorber, 0)
56};
57
58#endif // MUONSHIELDOPTIMIZATION_EXITHADRONABSORBER_H_
void Initialize() override
void ConstructGeometry() override
void SetVetoPointName(TString name)
Bool_t fUseCaveCoordinates
cylindrical sensPlane flag
TClonesArray * fElectrons
Bool_t ProcessHits(FairVolume *v=0) override
Bool_t fCylindricalPlane
max energy to transport
Bool_t withNtuple
zPos, optional
void PreTrack() override
void Register() override
void SetEnergyCut(Float_t emax)
TString fVetoName
flag if neutrinos should be ignored
TFile * fout
set position from cave
TNtuple * fNtuple
special option for Dark Photon physics studies
Bool_t fSkipNeutrinos
flag if only muons should be stored
void FinishRun() override
void SetZposition(Float_t x)