mirror the geometry
This commit is contained in:
parent
3b0b6be47e
commit
4627125105
|
@ -123,20 +123,20 @@ inline void PW::ConstructGeo(){
|
||||||
|
|
||||||
for(int i = 0; i < nWire; i++ ){
|
for(int i = 0; i < nWire; i++ ){
|
||||||
// Anode rotate right-hand
|
// Anode rotate right-hand
|
||||||
p1.first.SetXYZ( radiusA * TMath::Cos( TMath::TwoPi() / nWire * (-i) + TMath::PiOver2()),
|
p1.first.SetXYZ( radiusA * TMath::Cos( TMath::TwoPi() / nWire * (i) + TMath::PiOver2()),
|
||||||
radiusA * TMath::Sin( TMath::TwoPi() / nWire * (-i) + TMath::PiOver2()),
|
radiusA * TMath::Sin( TMath::TwoPi() / nWire * (i) + TMath::PiOver2()),
|
||||||
zLen/2);
|
zLen/2);
|
||||||
p1.second.SetXYZ( radiusA * TMath::Cos( TMath::TwoPi() / nWire * (-i + wireShift) + TMath::PiOver2()),
|
p1.second.SetXYZ( radiusA * TMath::Cos( TMath::TwoPi() / nWire * (i + wireShift) + TMath::PiOver2()),
|
||||||
radiusA * TMath::Sin( TMath::TwoPi() / nWire * (-i + wireShift) + TMath::PiOver2()),
|
radiusA * TMath::Sin( TMath::TwoPi() / nWire * (i + wireShift) + TMath::PiOver2()),
|
||||||
-zLen/2);
|
-zLen/2);
|
||||||
An.push_back(p1);
|
An.push_back(p1);
|
||||||
|
|
||||||
// Cathod rotate left-hand
|
// Cathod rotate left-hand
|
||||||
q1.first.SetXYZ( radiusC * TMath::Cos( TMath::TwoPi() / nWire * (-i) + TMath::PiOver2()),
|
q1.first.SetXYZ( radiusC * TMath::Cos( TMath::TwoPi() / nWire * (i) + TMath::PiOver2()),
|
||||||
radiusC * TMath::Sin( TMath::TwoPi() / nWire * (-i) + TMath::PiOver2()),
|
radiusC * TMath::Sin( TMath::TwoPi() / nWire * (i) + TMath::PiOver2()),
|
||||||
zLen/2);
|
zLen/2);
|
||||||
q1.second.SetXYZ( radiusC * TMath::Cos( TMath::TwoPi() / nWire * (- i - wireShift) + TMath::PiOver2()),
|
q1.second.SetXYZ( radiusC * TMath::Cos( TMath::TwoPi() / nWire * (i - wireShift) + TMath::PiOver2()),
|
||||||
radiusC * TMath::Sin( TMath::TwoPi() / nWire * (- i - wireShift) + TMath::PiOver2()),
|
radiusC * TMath::Sin( TMath::TwoPi() / nWire * (i - wireShift) + TMath::PiOver2()),
|
||||||
-zLen/2);
|
-zLen/2);
|
||||||
Ca.push_back(q1);
|
Ca.push_back(q1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -121,7 +121,7 @@ inline void SX3::ConstructGeo(){
|
||||||
sa.SetXYZ( radius, -width/2, gap/2 + length/2 );
|
sa.SetXYZ( radius, -width/2, gap/2 + length/2 );
|
||||||
sb.SetXYZ( radius, width/2, gap/2 + length/2 );
|
sb.SetXYZ( radius, width/2, gap/2 + length/2 );
|
||||||
|
|
||||||
double rot = TMath::TwoPi() / numDet * (-i - 0.5) - TMath::PiOver2();
|
double rot = TMath::TwoPi() / numDet * (i - 0.5) - TMath::PiOver2();
|
||||||
|
|
||||||
sa.RotateZ( rot );
|
sa.RotateZ( rot );
|
||||||
sb.RotateZ( rot );
|
sb.RotateZ( rot );
|
||||||
|
|
|
@ -243,11 +243,11 @@ TransferReaction::TransferReaction(){
|
||||||
|
|
||||||
thetaIN = 0.;
|
thetaIN = 0.;
|
||||||
phiIN = 0.;
|
phiIN = 0.;
|
||||||
SetA(12, 6, 0);
|
SetA(24, 12, 0);
|
||||||
Seta(2,1);
|
Seta(4,2);
|
||||||
Setb(1,1);
|
Setb(1,1);
|
||||||
SetB(13,6);
|
SetB(27,13);
|
||||||
TA = 6;
|
TA = 2.5;
|
||||||
T = TA * reaction.beamA;
|
T = TA * reaction.beamA;
|
||||||
|
|
||||||
ExA = 0;
|
ExA = 0;
|
||||||
|
|
|
@ -26,18 +26,18 @@ int main(int argc, char **argv){
|
||||||
//Reaction
|
//Reaction
|
||||||
TransferReaction transfer;
|
TransferReaction transfer;
|
||||||
|
|
||||||
transfer.SetA(12, 6, 0);
|
transfer.SetA(24,12, 0);
|
||||||
transfer.SetIncidentEnergyAngle(10, 0, 0);
|
transfer.SetIncidentEnergyAngle(10, 0, 0);
|
||||||
|
|
||||||
transfer.Seta( 2, 1);
|
transfer.Seta( 4, 2);
|
||||||
transfer.Setb( 1, 1);
|
transfer.Setb( 1, 1);
|
||||||
|
|
||||||
std::vector<float> ExAList = {0};
|
std::vector<float> ExAList = {0};
|
||||||
std::vector<float> ExList = {0, 1, 2};
|
std::vector<float> ExList = {0, 1, 2};
|
||||||
|
|
||||||
double vertexXRange[2] = { -5, 5}; // mm
|
double vertexXRange[2] = { -5,5}; // mm
|
||||||
double vertexYRange[2] = { -5, 5};
|
double vertexYRange[2] = { -5,5};
|
||||||
double vertexZRange[2] = {-70, 70};
|
double vertexZRange[2] = {-100,100};
|
||||||
|
|
||||||
double sigmaSX3_W = -1; // mm, < 0 use mid-point
|
double sigmaSX3_W = -1; // mm, < 0 use mid-point
|
||||||
double sigmaSX3_L = 5; // mm, < 0 use mid-point
|
double sigmaSX3_L = 5; // mm, < 0 use mid-point
|
||||||
|
@ -55,7 +55,7 @@ int main(int argc, char **argv){
|
||||||
printf(" SX3 vertical : %.1f\n", sigmaSX3_L);
|
printf(" SX3 vertical : %.1f\n", sigmaSX3_L);
|
||||||
printf(" Anode : %.1f mm\n", sigmaPW_A);
|
printf(" Anode : %.1f mm\n", sigmaPW_A);
|
||||||
printf(" Cathode : %.1f mm\n", sigmaPW_C);
|
printf(" Cathode : %.1f mm\n", sigmaPW_C);
|
||||||
|
printf(" num_eve : %.1d ",numEvent);
|
||||||
transfer.CalReactionConstant();
|
transfer.CalReactionConstant();
|
||||||
|
|
||||||
int nExA = ExAList.size();
|
int nExA = ExAList.size();
|
||||||
|
@ -65,7 +65,7 @@ int main(int argc, char **argv){
|
||||||
SX3 * sx3 = anasen->GetSX3();
|
SX3 * sx3 = anasen->GetSX3();
|
||||||
PW * pw = anasen->GetPW();
|
PW * pw = anasen->GetPW();
|
||||||
|
|
||||||
TString saveFileName = "SimAnasen.root";
|
TString saveFileName = "SimAnasen1.root";
|
||||||
printf("\e[32m#################################### building Tree in %s\e[0m\n", saveFileName.Data());
|
printf("\e[32m#################################### building Tree in %s\e[0m\n", saveFileName.Data());
|
||||||
TFile * saveFile = new TFile(saveFileName, "recreate");
|
TFile * saveFile = new TFile(saveFileName, "recreate");
|
||||||
TTree * tree = new TTree("tree", "tree");
|
TTree * tree = new TTree("tree", "tree");
|
||||||
|
@ -269,4 +269,4 @@ int main(int argc, char **argv){
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user