R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3BNeutronWindowAndSomeAir.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
3 * Copyright (C) 2019-2025 Members of R3B Collaboration *
4 * *
5 * This software is distributed under the terms of the *
6 * GNU General Public Licence (GPL) version 3, *
7 * copied verbatim in the file "LICENSE". *
8 * *
9 * In applying this license GSI does not waive the privileges and immunities *
10 * granted to it by virtue of its status as an Intergovernmental Organization *
11 * or submit itself to any jurisdiction. *
12 ******************************************************************************/
13
14#ifndef R3BROOT_R3BNEUTRONWINDOWANDSOMEAIR_H
15#define R3BROOT_R3BNEUTRONWINDOWANDSOMEAIR_H
16
17/* Place a neutron window (4mm steel) at xstart and air between start and stop
18 * This can be used for NeuLAND simulations as there is currently no vacuum chamber implemented.
19 * Instead, invert the problem: Use vacuum in the Cave and place a bunch o' air. Presto!
20 * Bonus: No need to adjust the magnetic field for different beam energies.
21 * The heavy ion will always fly through vacuum, and the neutrons through the right amount of material
22 */
23
24#include "FairModule.h"
25
26class TGeoMedium;
27
28class R3BNeutronWindowAndSomeAir : public FairModule
29{
30 public:
31 explicit R3BNeutronWindowAndSomeAir(double start = 700, double stop = 1300);
32
34 void ConstructRootGeometry(TGeoMatrix* _ = nullptr) override;
35
36 private:
37 TGeoMedium* FindMaterial(const std::string& mat) const;
38
39 double fStart;
40 double fStop;
41
42 ClassDefOverride(R3BNeutronWindowAndSomeAir, 1)
43};
44
45#endif // R3BROOT_R3BNEUTRONWINDOWANDSOMEAIR_H
void ConstructRootGeometry(TGeoMatrix *_=nullptr) override
R3BNeutronWindowAndSomeAir(double start=700, double stop=1300)