KaliVeda  1.12/06
Heavy-Ion Analysis Toolkit
KVISOFAZIA.cpp
Go to the documentation of this file.
1 //Created by KVClassFactory on Thu Jan 22 16:02:02 2015
2 //Author: ,,,
3 
4 #include "KVISOFAZIA.h"
5 
6 #include "KVUnits.h"
7 #include "KVFAZIABlock.h"
8 
10 
11 // BEGIN_HTML <!--
13 /* -->
14 <h2>KVISOFAZIA</h2>
15 <h4>FAZIA set-up for ISOFAZIA experiment June 2015 - 4 blocks</h4>
16 <!-- */
17 // --> END_HTML
19 
20 
21 
25  : KVFAZIA()
26 {
27  // Default constructor
28  SetTitle(ClassName());
29 }
30 
31 
32 
34 
36 {
37 
38  fNblocks = 4;
39  fFDist = 80.0;
40 
41 }
42 
43 
44 
45 
48 
50 {
51  // Destructor
52 }
53 
54 
55 
57 
59 {
60  Info("BuildFAZIA", "Compact geometry, %f cm from target",
61  fFDist);
62 
64 
65  Double_t distance_block_cible = fFDist * KVUnits::cm;
66  Double_t thick_si1 = 300 * KVUnits::um;
67 
68  KVFAZIABlock* block = new KVFAZIABlock;
69 
70  Double_t theta = 0;
71  Double_t phi = 0;
72 
73  Double_t arc = block->GetTotalSideWithBlindage() / (distance_block_cible + thick_si1 / 2.);
74  arc /= 2;
75  arc *= TMath::RadToDeg();
76 
77  for (Int_t bb = 0; bb < fNblocks; bb += 1) {
78  if (bb == 3) {
79  phi = 90;
80  theta = 11.8 + arc;
81  }
82  else if (bb == 2) {
83  phi = 90;
84  theta = 2.3 + arc;
85  }
86  else if (bb == 1) {
87  phi = -90;
88  theta = 2.3 + arc;
89  }
90  else if (bb == 0) {
91  phi = -90;
92  theta = 11.8 + arc;
93  }
94  top->AddNode(block, bb,
96  theta, phi));
97  }
98 
99 }
100 
101 
int Int_t
ClassImp(KVPartitionList) void KVPartitionList
Initialisation.
double Double_t
R__EXTERN TGeoManager * gGeoManager
Standard geometry of 16-telescope FAZIA block.
Definition: KVFAZIABlock.h:16
Double_t GetNominalDistanceTargetBlockCentre(double dist_SI1=100.) const
Definition: KVFAZIABlock.h:73
Double_t GetTotalSideWithBlindage() const
Definition: KVFAZIABlock.h:68
Description of a FAZIA detector geometry.
Definition: KVFAZIA.h:32
Double_t fFDist
distance of FAZIA detectors from target (in cm)
Definition: KVFAZIA.h:35
Int_t fNblocks
number of blocks
Definition: KVFAZIA.h:37
FAZIA set-up with two blocks used in LNS 2014 commissioning.
Definition: KVISOFAZIA.h:15
virtual void BuildFAZIA()
methods to be implemented in child classes
Definition: KVISOFAZIA.cpp:58
virtual ~KVISOFAZIA()
Destructor.
Definition: KVISOFAZIA.cpp:49
virtual void GetGeometryParameters()
Called by the Build method.
Definition: KVISOFAZIA.cpp:35
static TGeoHMatrix * GetVolumePositioningMatrix(Double_t distance, Double_t theta, Double_t phi, TGeoTranslation *postTrans=nullptr)
TGeoVolume * GetTopVolume() const
virtual void AddNode(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=0, Option_t *option="")
virtual void Info(const char *method, const char *msgfmt,...) const
RooCmdArg ClassName(const char *name)
const long double um
Definition: KVUnits.h:68
const long double cm
Definition: KVUnits.h:66
constexpr Double_t RadToDeg()