SND@LHC Software
Loading...
Searching...
No Matches
EmulsionMagnet.h
Go to the documentation of this file.
1//
2// EmulsionMagnet.h
3//
4// Created by A. Buonaura on 12/09/16
5
6#ifndef EmulsionMagnet_H
7#define EmulsionMagnet_H
8
9#include "FairModule.h" // for FairModule
10#include "Rtypes.h" // for ShipMuonShield::Class, Bool_t, etc
11#include "TVector3.h"
12#include <iostream>
13
14using std::cout;
15using std::endl;
16
17class EmulsionMagnet : public FairModule
18{
19 public:
20 EmulsionMagnet(const char* name, const Double_t zC, const char* Title="EmulsionMagnet");
23
24 void SetGaps(Double_t Up, Double_t Down);
25 void SetMagnetSizes(Double_t X, Double_t Y, Double_t Z);
26 void SetMagnetColumn(Double_t ColX, Double_t ColY, Double_t ColZ);
27 void SetBaseDim(Double_t BaseX, Double_t BaseY, Double_t BaseZ);
28 void SetCoilParameters(Double_t radius, Double_t height1, Double_t height2, Double_t Distance);
29 void SetCoilParameters(Double_t X, Double_t Y, Double_t height1, Double_t height2, Double_t Thickness);
30 void SetDesign(Int_t Design);
31 void SetMagneticField(Double_t B);
32
33 void SetPillarDimensions(Double_t X, Double_t Y, Double_t Z);
34 void SetCutDimensions(Double_t CutLength, Double_t CutHeight);
35
36 void SetConstantField(Bool_t EmuMagnetConstField);
37
38 void ConstructGeometry();
39 Int_t InitMedium(const char* name);
40
42
43 protected:
44
45 Double_t fMagnetX;
46 Double_t fMagnetY;
47 Double_t fMagnetZ;
48 Double_t fColumnX;
49 Double_t fColumnY;
50 Double_t fColumnZ;
51 Double_t fCutLength; //dimensions of triangular cuts for lateral volumes (only in NuTauTargetDesign 3)
52 Double_t fCutHeight;
53 Double_t fBaseX;
54 Double_t fBaseY;
55 Double_t fBaseZ;
56 Double_t fCenterZ;
57 Double_t fCoilR;
58 Double_t fCoilX;
59 Double_t fCoilY;
60 Double_t fCoilH1; //thickness of the upper (left) coil
61 Double_t fCoilH2; //thickness of the loweer (right) coil
62 Double_t fCoilDist;
63 Double_t fCoilThickness;//Thickness in Z config. fDesign==3
64 Double_t fGapUpstream;
66 Double_t fField;
67 Int_t fDesign; //0= TP_config, 1=new_config, 2=no magnet
68 Double_t fPillarX;
69 Double_t fPillarY;
70 Double_t fPillarZ;
72};
73
74#endif
Double_t fCutHeight
Double_t fGapUpstream
Double_t fCutLength
Int_t InitMedium(const char *name)
void SetCoilParameters(Double_t radius, Double_t height1, Double_t height2, Double_t Distance)
Double_t fCoilThickness
void SetMagneticField(Double_t B)
Double_t fGapDownstream
void SetBaseDim(Double_t BaseX, Double_t BaseY, Double_t BaseZ)
ClassDef(EmulsionMagnet, 5)
void SetGaps(Double_t Up, Double_t Down)
void SetMagnetColumn(Double_t ColX, Double_t ColY, Double_t ColZ)
void SetCutDimensions(Double_t CutLength, Double_t CutHeight)
void SetMagnetSizes(Double_t X, Double_t Y, Double_t Z)
void SetConstantField(Bool_t EmuMagnetConstField)
void SetPillarDimensions(Double_t X, Double_t Y, Double_t Z)
void SetDesign(Int_t Design)