26 #include "G4UserEventAction.hh"
27 #include "G4SDManager.hh"
53 : analysis(AN),myUserInfo(UI)
117 G4cout <<
"Number of software triggers is not defined correctly!" << G4endl;
120 for (
size_t iTrigger = 0; iTrigger <
fTrigger.size(); iTrigger++)
140 for (
size_t iTrigger = 0; iTrigger <
fTrigger.size(); iTrigger++)
141 G4cout << (
fTrigger[iTrigger]?
"Enabled":
"Disabled")
142 <<
" software trigger " <<
fTriggerName[iTrigger] <<
"." << G4endl;
151 G4cout << (status?
"Enabled":
"Disabled") <<
" software trigger " << value <<
"." << G4endl;
157 G4SDManager * SDman = G4SDManager::GetSDMpointer();
245 G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer();
247 G4int n_trajectories = 0;
249 if (trajectoryContainer) n_trajectories = trajectoryContainer->entries();
252 if (G4VVisManager::GetConcreteInstance()) {
254 for (G4int i=0; i<n_trajectories; i++) {
272 if (myEventCounter%2 == 1) {
278 G4String RandomSeed = evt->GetRandomNumberStatus();
287 G4HCofThisEvent * HCE = evt->GetHCofThisEvent();
308 G4int n_hitTarget = 0;
310 G4int n_HDChitWirePlane = 0;
311 G4int n_VDChitWirePlane = 0;
312 G4int n_VDChitDCFront = 0;
313 G4int n_VDChitDCBack = 0;
314 G4int n_hitTriggerScintillator = 0;
316 G4int n_hitLeadGlass = 0;
318 G4int n_hitPMTOnly = 0;
319 G4int n_hitPMTOnlyPMT = 0;
321 G4int n_hitTungstenPlug = 0;
322 G4int n_hitCerenkovDetector = 0;
323 G4int n_hitCerenkovRadiator = 0;
324 G4int n_hitCerenkovPMT = 0;
331 n_hitTarget = TargetDetector_HC -> entries();
341 n_HDChitWirePlane = HDC_WirePlane_HC -> entries();
347 n_VDChitWirePlane = VDC_WirePlane_HC -> entries();
353 n_VDChitDCFront = VDC_DriftCellFront_HC -> entries();
359 n_VDChitDCBack = VDC_DriftCellBack_HC -> entries();
365 n_hitTriggerScintillator = TriggerScintillatorDetector_HC -> entries();
377 n_hitLeadGlass = LeadGlassDetector_HC -> entries();
389 n_hitPMTOnly = PMTOnlyDetector_HC->entries();
395 n_hitPMTOnlyPMT = PMTOnlyPMT_HC->entries();
401 n_hitLumi = LumiDetector_HC -> entries();
407 n_hitTungstenPlug = TungstenPlugDetector_HC->entries();
413 n_hitCerenkovDetector = CerenkovDetector_HC -> entries();
419 n_hitCerenkovRadiator = CerenkovRadiator_HC -> entries();
425 n_hitCerenkovPMT = CerenkovDetectorPMT_HC -> entries();
430 G4cout <<
"Target " << n_hitTarget
431 <<
",\tHDC " << n_HDChitWirePlane
432 <<
",\tVDC_Front " << n_VDChitDCFront
433 <<
",\tVDC_Back " << n_VDChitDCBack
434 <<
",\tTS " << n_hitTriggerScintillator
435 <<
",\tLeadGlass " << n_hitLeadGlass
436 <<
",\tPMTOnly " << n_hitPMTOnly
437 <<
",\tPMTOnlyPMT " << n_hitPMTOnlyPMT
438 <<
",\tLumi " << n_hitLumi
439 <<
",\tTungstenPlug " << n_hitTungstenPlug
440 <<
",\tCerenkovRad " << n_hitCerenkovRadiator
441 <<
",\tCerenkovDet " << n_hitCerenkovDetector
442 <<
",\tCerenkovPMT " << n_hitCerenkovPMT << G4endl;
508 || (
fTrigger[
kTrigger4Fold] && (n_VDChitWirePlane == 4) && (n_VDChitDCFront > 0) && (n_VDChitDCBack > 0) && (n_hitCerenkovDetector > 0) )
509 || (
fTrigger[
kTrigger3Fold] && (n_VDChitWirePlane >= 2) && (n_VDChitDCFront > 0) && (n_VDChitDCBack > 0) )
696 int VDC_Chamber_Plane_NbOfHits[2][2];
697 for (
int chamber = 0; chamber < 2; chamber++)
698 for (
int plane = 0; plane < 2; plane++)
699 VDC_Chamber_Plane_NbOfHits[chamber][plane] = 0;
702 for (
int i1=0;i1<n_VDChitWirePlane;i1++) {
711 Float_t rLocalPositionX = (Float_t) localPosition.x() / cm;
712 Float_t rLocalPositionY = (Float_t) localPosition.y() / cm;
713 Float_t rLocalPositionZ = (Float_t) localPosition.z() / cm;
717 Float_t rGlobalPositionX = (Float_t) globalPosition.x() / cm;
718 Float_t rGlobalPositionY = (Float_t) globalPosition.y() / cm;
719 Float_t rGlobalPositionZ = (Float_t) globalPosition.z() / cm;
723 Float_t rLocalMomentumX = (Float_t) localMomentum.x() / MeV;
724 Float_t rLocalMomentumY = (Float_t) localMomentum.y() / MeV;
725 Float_t rLocalMomentumZ = (Float_t) localMomentum.z() / MeV;
729 Float_t rGlobalMomentumX = (Float_t) globalMomentum.x() / MeV;
730 Float_t rGlobalMomentumY = (Float_t) globalMomentum.y() / MeV;
731 Float_t rGlobalMomentumZ = (Float_t) globalMomentum.z() / MeV;
732 Float_t rGlobalThetaAngle = (Float_t) globalMomentum.theta() / degree;
733 Float_t rGlobalPhiAngle = (Float_t) globalMomentum.phi() / degree - 90.0;
743 Float_t rOriginVertexPositionX = (Float_t) originVertexPosition.x() / cm;
744 Float_t rOriginVertexPositionY = (Float_t) originVertexPosition.y() / cm;
745 Float_t rOriginVertexPositionZ = (Float_t) originVertexPosition.z() / cm;
749 Float_t rOriginVertexMomentumDirectionX = (Float_t) originVertexMomentumDirection.x();
750 Float_t rOriginVertexMomentumDirectionY = (Float_t) originVertexMomentumDirection.y();
751 Float_t rOriginVertexMomentumDirectionZ = (Float_t) originVertexMomentumDirection.z();
752 Float_t rOriginVertexPhiAngle = (Float_t) originVertexMomentumDirection.phi() / degree;
753 Float_t rOriginVertexThetaAngle = (Float_t) originVertexMomentumDirection.theta() / degree;
765 int iVDC_Chamber = -1;
767 if (iVDCID == 0 || iVDCID == 2){
771 if (iVDCID == 1 || iVDCID == 3){
775 int iVDCpackage = -1;
776 if(iVDCID == 0 || iVDCID == 1)
778 if(iVDCID == 2 || iVDCID == 3)
781 if (single_vdc_event == 0) {
782 G4cerr <<
"VDC hit with incorrect chamber ID: " << iVDCID << G4endl;
789 if (iWirePlaneID == 0)
790 wire_plane_event = &(single_vdc_event->
WirePlaneU);
791 if (iWirePlaneID == 1)
792 wire_plane_event = &(single_vdc_event->
WirePlaneV);
795 if (wire_plane_event == 0) {
796 G4cerr <<
"VDC hit with incorrect plane ID." << G4endl;
801 VDC_Chamber_Plane_NbOfHits[iVDC_Chamber][iWirePlaneID]++;
802 wire_plane_event->
StoreNbOfHits(VDC_Chamber_Plane_NbOfHits[iVDC_Chamber][iWirePlaneID]);
861 if (n_VDChitDCFront) {
864 for (G4int i1 = 0; i1 < n_VDChitDCFront; i1++) {
893 if (n_VDChitDCBack) {
895 for (G4int i1=0;i1<n_VDChitDCBack;i1++) {
913 if (n_hitCerenkovDetector > 0) {
916 for (
int i1 = 0; i1 < n_hitCerenkovDetector; i1++) {
926 Float_t rLocalPositionX = (Float_t) localPosition.x() / cm;
927 Float_t rLocalPositionY = (Float_t) localPosition.y() / cm;
928 Float_t rLocalPositionZ = (Float_t) localPosition.z() / cm;
932 Float_t rGlobalPositionX = (Float_t) globalPosition.x() / cm;
933 Float_t rGlobalPositionY = (Float_t) globalPosition.y() / cm;
934 Float_t rGlobalPositionZ = (Float_t) globalPosition.z() / cm;
938 Float_t rLocalMomentumX = (Float_t) localMomentum.x() / MeV;
939 Float_t rLocalMomentumY = (Float_t) localMomentum.y() / MeV;
940 Float_t rLocalMomentumZ = (Float_t) localMomentum.z() / MeV;
941 Float_t rLocalPhiAngle = (Float_t) localMomentum.phi() / degree - 90.0;
942 Float_t rLocalThetaAngle = (Float_t) localMomentum.theta() / degree;
946 Float_t rGlobalMomentumX = (Float_t) globalMomentum.x() / MeV;
947 Float_t rGlobalMomentumY = (Float_t) globalMomentum.y() / MeV;
948 Float_t rGlobalMomentumZ = (Float_t) globalMomentum.z() / MeV;
949 Float_t rGlobalPhiAngle = (Float_t) globalMomentum.phi() / degree - 90.0;
950 Float_t rGlobalThetaAngle = (Float_t) globalMomentum.theta() / degree;
953 Float_t rLocalExitPositionX = (Float_t) localExitPosition.x() / cm;
954 Float_t rLocalExitPositionY = (Float_t) localExitPosition.y() / cm;
955 Float_t rLocalExitPositionZ = (Float_t) localExitPosition.z() / cm;
958 Float_t rOriginVertexPositionX = (Float_t) originVertexPosition.x() / cm;
959 Float_t rOriginVertexPositionY = (Float_t) originVertexPosition.y() / cm;
960 Float_t rOriginVertexPositionZ = (Float_t) originVertexPosition.z() / cm;
963 Float_t rOriginVertexMomentumDirectionX = (Float_t) originVertexMomentumDirection.x();
964 Float_t rOriginVertexMomentumDirectionY = (Float_t) originVertexMomentumDirection.y();
965 Float_t rOriginVertexMomentumDirectionZ = (Float_t) originVertexMomentumDirection.z();
966 Float_t rOriginVertexPhiAngle = (Float_t) originVertexMomentumDirection.phi() / degree;
967 Float_t rOriginVertexThetaAngle = (Float_t) originVertexMomentumDirection.theta() / degree;
988 Float_t rGlobalPolarizationX = rGlobalPolarizationVector.x();
989 Float_t rGlobalPolarizationY = rGlobalPolarizationVector.y();
990 Float_t rGlobalPolarizationZ = rGlobalPolarizationVector.z();
992 Float_t rLongitudinalPolarization = 0.0;
993 G4ThreeVector rTransversePolarizationVector = G4ThreeVector(0.0,0.0,0.0);
994 if (globalMomentum.mag() > 0){
996 rLongitudinalPolarization = rGlobalPolarizationVector.dot(globalMomentum)/globalMomentum.mag()/rGlobalPolarizationVector.mag();
998 rTransversePolarizationVector = rGlobalPolarizationVector - rLongitudinalPolarization*globalMomentum/globalMomentum.mag();
1000 Float_t rTransversePolarization = rTransversePolarizationVector.mag();
1001 Float_t rTransversePolarizationX = rTransversePolarizationVector.x();
1002 Float_t rTransversePolarizationY = rTransversePolarizationVector.y();
1003 Float_t rTransversePolarizationZ = rTransversePolarizationVector.z();
1004 Float_t rTransversePolarizationPhiAngle = rTransversePolarizationVector.phi() / degree;
1102 if (
GetDistance(localPosition,localExitPosition)/cm < 1.15)
1121 if (n_hitCerenkovRadiator > 0) {
1124 for (
int i1 = 0; i1 < n_hitCerenkovRadiator; i1++) {
1134 Float_t rLocalPositionX = (Float_t) localPosition.x() / cm;
1135 Float_t rLocalPositionY = (Float_t) localPosition.y() / cm;
1136 Float_t rLocalPositionZ = (Float_t) localPosition.z() / cm;
1140 Float_t rGlobalPositionX = (Float_t) globalPosition.x() / cm;
1141 Float_t rGlobalPositionY = (Float_t) globalPosition.y() / cm;
1142 Float_t rGlobalPositionZ = (Float_t) globalPosition.z() / cm;
1146 Float_t rLocalMomentumX = (Float_t) localMomentum.x() / MeV;
1147 Float_t rLocalMomentumY = (Float_t) localMomentum.y() / MeV;
1148 Float_t rLocalMomentumZ = (Float_t) localMomentum.z() / MeV;
1149 Float_t rLocalPhiAngle = (Float_t) localMomentum.phi() / degree - 90.0;
1150 Float_t rLocalThetaAngle = (Float_t) localMomentum.theta() / degree;
1154 Float_t rGlobalMomentumX = (Float_t) globalMomentum.x() / MeV;
1155 Float_t rGlobalMomentumY = (Float_t) globalMomentum.y() / MeV;
1156 Float_t rGlobalMomentumZ = (Float_t) globalMomentum.z() / MeV;
1157 Float_t rGlobalPhiAngle = (Float_t) globalMomentum.phi() / degree - 90.0;
1158 Float_t rGlobalThetaAngle = (Float_t) globalMomentum.theta() / degree;
1161 Float_t rLocalExitPositionX = (Float_t) localExitPosition.x() / cm;
1162 Float_t rLocalExitPositionY = (Float_t) localExitPosition.y() / cm;
1163 Float_t rLocalExitPositionZ = (Float_t) localExitPosition.z() / cm;
1166 Float_t rOriginVertexPositionX = (Float_t) originVertexPosition.x() / cm;
1167 Float_t rOriginVertexPositionY = (Float_t) originVertexPosition.y() / cm;
1168 Float_t rOriginVertexPositionZ = (Float_t) originVertexPosition.z() / cm;
1171 Float_t rOriginVertexMomentumDirectionX = (Float_t) originVertexMomentumDirection.x();
1172 Float_t rOriginVertexMomentumDirectionY = (Float_t) originVertexMomentumDirection.y();
1173 Float_t rOriginVertexMomentumDirectionZ = (Float_t) originVertexMomentumDirection.z();
1174 Float_t rOriginVertexPhiAngle = (Float_t) originVertexMomentumDirection.phi() / degree;
1175 Float_t rOriginVertexThetaAngle = (Float_t) originVertexMomentumDirection.theta() / degree;
1196 Float_t rGlobalPolarizationX = rGlobalPolarizationVector.x();
1197 Float_t rGlobalPolarizationY = rGlobalPolarizationVector.y();
1198 Float_t rGlobalPolarizationZ = rGlobalPolarizationVector.z();
1200 Float_t rLongitudinalPolarization = 0.0;
1201 G4ThreeVector rTransversePolarizationVector = G4ThreeVector(0.0,0.0,0.0);
1202 if (globalMomentum.mag() > 0){
1204 rLongitudinalPolarization = rGlobalPolarizationVector.dot(globalMomentum)/globalMomentum.mag()/rGlobalPolarizationVector.mag();
1206 rTransversePolarizationVector = rGlobalPolarizationVector - rLongitudinalPolarization*globalMomentum/globalMomentum.mag();
1208 Float_t rTransversePolarization = rTransversePolarizationVector.mag();
1209 Float_t rTransversePolarizationX = rTransversePolarizationVector.x();
1210 Float_t rTransversePolarizationY = rTransversePolarizationVector.y();
1211 Float_t rTransversePolarizationZ = rTransversePolarizationVector.z();
1212 Float_t rTransversePolarizationPhiAngle = rTransversePolarizationVector.phi() / degree;
1285 if (n_hitCerenkovPMT > 0) {
1287 std::vector<G4int> PmtHasBeenHit(
PmtMaxSize);
1297 std::vector<G4float> PmtNPERight(
PmtMaxSize);
1298 std::vector<G4float> PmtNPETotal(
PmtMaxSize);
1300 std::vector<G4float> PmtRateLeft(
PmtMaxSize);
1301 std::vector<G4float> PmtRateRight(
PmtMaxSize);
1302 std::vector<G4float> PmtRateTotal(
PmtMaxSize);
1303 std::vector<G4float> PmtRateLeftEL(
PmtMaxSize);
1304 std::vector<G4float> PmtRateRightEL(
PmtMaxSize);
1305 std::vector<G4float> PmtRateTotalEL(
PmtMaxSize);
1306 std::vector<G4float> PmtRateLeftDIS(
PmtMaxSize);
1307 std::vector<G4float> PmtRateRightDIS(
PmtMaxSize);
1308 std::vector<G4float> PmtRateTotalDIS(
PmtMaxSize);
1309 std::vector<G4float> PmtRateLeftQE(
PmtMaxSize);
1310 std::vector<G4float> PmtRateRightQE(
PmtMaxSize);
1311 std::vector<G4float> PmtRateTotalQE(
PmtMaxSize);
1312 std::vector<G4float> PmtRateLeftELPeak(
PmtMaxSize);
1313 std::vector<G4float> PmtRateRightELPeak(
PmtMaxSize);
1314 std::vector<G4float> PmtRateTotalELPeak(
PmtMaxSize);
1316 std::vector<G4float> PmtYieldLeft(
PmtMaxSize);
1317 std::vector<G4float> PmtYieldRight(
PmtMaxSize);
1318 std::vector<G4float> PmtYieldTotal(
PmtMaxSize);
1319 std::vector<G4float> PmtYieldLeftEL(
PmtMaxSize);
1320 std::vector<G4float> PmtYieldRightEL(
PmtMaxSize);
1321 std::vector<G4float> PmtYieldTotalEL(
PmtMaxSize);
1322 std::vector<G4float> PmtYieldLeftDIS(
PmtMaxSize);
1323 std::vector<G4float> PmtYieldRightDIS(
PmtMaxSize);
1324 std::vector<G4float> PmtYieldTotalDIS(
PmtMaxSize);
1325 std::vector<G4float> PmtYieldLeftQE(
PmtMaxSize);
1326 std::vector<G4float> PmtYieldRightQE(
PmtMaxSize);
1327 std::vector<G4float> PmtYieldTotalQE(
PmtMaxSize);
1328 std::vector<G4float> PmtYieldLeftELPeak(
PmtMaxSize);
1329 std::vector<G4float> PmtYieldRightELPeak(
PmtMaxSize);
1330 std::vector<G4float> PmtYieldTotalELPeak(
PmtMaxSize);
1333 for (
int i1 = 0; i1 < n_hitCerenkovPMT; i1++) {
1338 if (octantID > (Int_t) PmtHitsLeft.size()) {
1339 G4cerr <<
"octantID is larger than size of vectorPmtHitsLeft in QweakSimEventAction!" << G4endl;
1346 PmtOctant.push_back(0);
1352 PmtOctant.back() = -octantID;
1353 PmtHitsLeft[octantID]++;
1362 PmtOctant.back() = +octantID;
1363 PmtHitsRight[octantID]++;
1369 PmtHasBeenHit[octantID] = 5;
1370 PmtHitsTotal[octantID]++;
1379 for (
int octantID = 0; octantID <
PmtMaxSize; octantID++) {
1380 if (PmtHasBeenHit[octantID] != 5)
continue;
1490 if (n_HDChitWirePlane > 0) {
1493 for (
int i1=0;i1<n_HDChitWirePlane;i1++) {
1495 int HDC_Chamber_Plane_NbOfHits[2][6];
1496 for (
int chamber = 0; chamber < 2; chamber++)
1497 for (
int plane = 0; plane < 6; plane++)
1498 HDC_Chamber_Plane_NbOfHits[chamber][plane] = 0;
1505 Float_t rLocalPositionX = (Float_t) localPosition.x() / cm;
1506 Float_t rLocalPositionY = (Float_t) localPosition.y() / cm;
1507 Float_t rLocalPositionZ = (Float_t) localPosition.z() / cm;
1511 Float_t rGlobalPositionX = (Float_t) globalPosition.x() / cm;
1512 Float_t rGlobalPositionY = (Float_t) globalPosition.y() / cm;
1513 Float_t rGlobalPositionZ = (Float_t) globalPosition.z() / cm;
1517 Float_t rLocalMomentumX = (Float_t) localMomentum.x() / MeV;
1518 Float_t rLocalMomentumY = (Float_t) localMomentum.y() / MeV;
1519 Float_t rLocalMomentumZ = (Float_t) localMomentum.z() / MeV;
1523 Float_t rGlobalMomentumX = (Float_t) globalMomentum.x() / MeV;
1524 Float_t rGlobalMomentumY = (Float_t) globalMomentum.y() / MeV;
1525 Float_t rGlobalMomentumZ = (Float_t) globalMomentum.z() / MeV;
1526 Float_t rGlobalThetaAngle = (Float_t) globalMomentum.theta() / degree;
1527 Float_t rGlobalPhiAngle = (Float_t) globalMomentum.phi() / degree - 90.0;
1530 Float_t rOriginVertexPositionX = (Float_t) originVertexPosition.x() / cm;
1531 Float_t rOriginVertexPositionY = (Float_t) originVertexPosition.y() / cm;
1532 Float_t rOriginVertexPositionZ = (Float_t) originVertexPosition.z() / cm;
1536 Float_t rOriginVertexMomentumDirectionX = (Float_t) originVertexMomentumDirection.x();
1537 Float_t rOriginVertexMomentumDirectionY = (Float_t) originVertexMomentumDirection.y();
1538 Float_t rOriginVertexMomentumDirectionZ = (Float_t) originVertexMomentumDirection.z();
1539 Float_t rOriginVertexPhiAngle = (Float_t) originVertexMomentumDirection.phi() / degree;
1540 Float_t rOriginVertexThetaAngle = (Float_t) originVertexMomentumDirection.theta() / degree;
1557 int iHDC_Chamber = -1;
1559 if (iHDCID == 0 || iHDCID == 2){
1563 if (iHDCID == 1 || iHDCID == 3){
1569 if (single_hdc_event == 0) {
1570 G4cerr <<
"HDC hit with incorrect chamber ID." << G4endl;
1573 int iHDCpackage = -1;
1574 if(iHDCID == 0 || iHDCID == 1)
1576 if(iHDCID == 2 || iHDCID == 3)
1581 if (iWirePlaneID == 0)
1582 wire_plane_event = &(single_hdc_event->
WirePlane1);
1583 if (iWirePlaneID == 1)
1584 wire_plane_event = &(single_hdc_event->
WirePlane2);
1585 if (iWirePlaneID == 2)
1586 wire_plane_event = &(single_hdc_event->
WirePlane3);
1587 if (iWirePlaneID == 3)
1588 wire_plane_event = &(single_hdc_event->
WirePlane4);
1589 if (iWirePlaneID == 4)
1590 wire_plane_event = &(single_hdc_event->
WirePlane5);
1591 if (iWirePlaneID == 5)
1592 wire_plane_event = &(single_hdc_event->
WirePlane6);
1595 if (wire_plane_event == 0) {
1596 G4cerr <<
"HDC hit with incorrect plane ID." << G4endl;
1602 HDC_Chamber_Plane_NbOfHits[iHDC_Chamber][iWirePlaneID]++;
1603 wire_plane_event->
StoreNbOfHits(HDC_Chamber_Plane_NbOfHits[iHDC_Chamber][iWirePlaneID]);
1859 if (n_hitTarget >0) {
1861 Float_t rTotalDepositedEnergy = 0.0;
1864 for (
int i1=0;i1<n_hitTarget;i1++) {
1869 Float_t rTrackID = (Float_t) aHit->
GetTrackID();
1880 Float_t rGlobalPositionX = (Float_t) globalPosition.x() / cm;
1881 Float_t rGlobalPositionY = (Float_t) globalPosition.y() / cm;
1882 Float_t rGlobalPositionZ = (Float_t) globalPosition.z() / cm;
1886 Float_t rLocalPositionX = (Float_t) localPosition.x() / cm;
1887 Float_t rLocalPositionY = (Float_t) localPosition.y() / cm;
1888 Float_t rLocalPositionZ = (Float_t) localPosition.z() / cm;
1892 Float_t rOriginVertexPositionX = (Float_t) originVertexPosition.x() / cm;
1893 Float_t rOriginVertexPositionY = (Float_t) originVertexPosition.y() / cm;
1894 Float_t rOriginVertexPositionZ = (Float_t) originVertexPosition.z() / cm;
1903 Float_t rGlobalThetaAngle = (Float_t) globalMomentum.theta() / degree;
1904 Float_t rGlobalPhiAngle = (Float_t) globalMomentum.phi() / degree - 90.0;
1914 Float_t rLocalVertexMomentumDirectionX = (Float_t) localVertexMomentumDirection.x();
1915 Float_t rLocalVertexMomentumDirectionY = (Float_t) localVertexMomentumDirection.y();
1916 Float_t rLocalVertexMomentumDirectionZ = (Float_t) localVertexMomentumDirection.z();
1920 Float_t rOriginVertexMomentumDirectionX = (Float_t) originVertexMomentumDirection.x();
1921 Float_t rOriginVertexMomentumDirectionY = (Float_t) originVertexMomentumDirection.y();
1922 Float_t rOriginVertexMomentumDirectionZ = (Float_t) originVertexMomentumDirection.z();
1925 Float_t rOriginVertexThetaAngle = (Float_t) originVertexMomentumDirection.theta() / degree;
1926 Float_t rOriginVertexPhiAngle = (Float_t) originVertexMomentumDirection.phi() / degree;
1938 rTotalDepositedEnergy += rDepositedEnergy;
1945 G4ThreeVector p_out = globalMomentum;
1947 G4double scatteringAngle = acos(p_out.dot(p_in)/p_in.mag()/p_out.mag());
1950 G4double rElasticCrossSection = 0;
1951 G4double rElasticMomentumTransfer = 0;
1952 G4double rElasticScatteredEnergy = 0;
1956 rElasticCrossSection,
1957 rElasticMomentumTransfer,
1958 rElasticScatteredEnergy);
2061 if (n_hitTriggerScintillator >0) {
2063 Float_t rTotalDepositedEnergy = 0.0;
2066 for (
int i1=0;i1<n_hitTriggerScintillator;i1++) {
2074 Float_t rLocalPositionX = (Float_t) localPosition.x() / cm;
2075 Float_t rLocalPositionY = (Float_t) localPosition.y() / cm;
2076 Float_t rLocalPositionZ = (Float_t) localPosition.z() / cm;
2080 Float_t rGlobalPositionX = (Float_t) globalPosition.x() / cm;
2081 Float_t rGlobalPositionY = (Float_t) globalPosition.y() / cm;
2082 Float_t rGlobalPositionZ = (Float_t) globalPosition.z() / cm;
2097 Float_t rGlobalThetaAngle = (Float_t) globalMomentum.theta() / degree;
2098 Float_t rGlobalPhiAngle = (Float_t) globalMomentum.phi() / degree - 90.0;
2101 Float_t rOriginVertexPositionX = (Float_t) originVertexPosition.x() / cm;
2102 Float_t rOriginVertexPositionY = (Float_t) originVertexPosition.y() / cm;
2103 Float_t rOriginVertexPositionZ = (Float_t) originVertexPosition.z() / cm;
2106 Float_t rOriginVertexMomentumDirectionX = (Float_t) originVertexMomentumDirection.x();
2107 Float_t rOriginVertexMomentumDirectionY = (Float_t) originVertexMomentumDirection.y();
2108 Float_t rOriginVertexMomentumDirectionZ = (Float_t) originVertexMomentumDirection.z();
2109 Float_t rOriginVertexPhiAngle = (Float_t) originVertexMomentumDirection.phi() / degree;
2110 Float_t rOriginVertexThetaAngle = (Float_t) originVertexMomentumDirection.theta() / degree;
2121 rTotalDepositedEnergy += rDepositedEnergy;
2176 if (n_hitLeadGlass >0) {
2179 for (
int i1=0;i1<n_hitLeadGlass;i1++) {
2184 Float_t rTrackID = (Float_t) aHit->
GetTrackID();
2199 Float_t rGlobalPositionX = (Float_t) globalPosition.x() / cm;
2200 Float_t rGlobalPositionY = (Float_t) globalPosition.y() / cm;
2201 Float_t rGlobalPositionZ = (Float_t) globalPosition.z() / cm;
2205 Float_t rLocalPositionX = (Float_t) localPosition.x() / cm;
2206 Float_t rLocalPositionY = (Float_t) localPosition.y() / cm;
2207 Float_t rLocalPositionZ = (Float_t) localPosition.z() / cm;
2217 Float_t rOriginVertexPositionX = (Float_t) originVertexPosition.x() / cm;
2218 Float_t rOriginVertexPositionY = (Float_t) originVertexPosition.y() / cm;
2219 Float_t rOriginVertexPositionZ = (Float_t) originVertexPosition.z() / cm;
2228 Float_t rGlobalThetaAngle = (Float_t) globalMomentum.theta() / degree;
2229 Float_t rGlobalPhiAngle = (Float_t) globalMomentum.phi() / degree - 90.0;
2239 Float_t rLocalVertexMomentumDirectionX = (Float_t) localVertexMomentumDirection.x();
2240 Float_t rLocalVertexMomentumDirectionY = (Float_t) localVertexMomentumDirection.y();
2241 Float_t rLocalVertexMomentumDirectionZ = (Float_t) localVertexMomentumDirection.z();
2245 Float_t rOriginVertexMomentumDirectionX = (Float_t) originVertexMomentumDirection.x();
2246 Float_t rOriginVertexMomentumDirectionY = (Float_t) originVertexMomentumDirection.y();
2247 Float_t rOriginVertexMomentumDirectionZ = (Float_t) originVertexMomentumDirection.z();
2250 Float_t rOriginVertexThetaAngle = (Float_t) originVertexMomentumDirection.theta() / degree;
2251 Float_t rOriginVertexPhiAngle = (Float_t) originVertexMomentumDirection.phi() / degree;
2343 if (n_hitPMTOnly >0) {
2345 Float_t rTotalDepositedEnergy = 0.0;
2348 for (
int i1=0;i1<n_hitPMTOnly;i1++) {
2353 Float_t rTrackID = (Float_t) aHit->
GetTrackID();
2364 Float_t rGlobalPositionX = (Float_t) globalPosition.x() / cm;
2365 Float_t rGlobalPositionY = (Float_t) globalPosition.y() / cm;
2366 Float_t rGlobalPositionZ = (Float_t) globalPosition.z() / cm;
2370 Float_t rLocalPositionX = (Float_t) localPosition.x() / cm;
2371 Float_t rLocalPositionY = (Float_t) localPosition.y() / cm;
2372 Float_t rLocalPositionZ = (Float_t) localPosition.z() / cm;
2376 Float_t rOriginVertexPositionX = (Float_t) originVertexPosition.x() / cm;
2377 Float_t rOriginVertexPositionY = (Float_t) originVertexPosition.y() / cm;
2378 Float_t rOriginVertexPositionZ = (Float_t) originVertexPosition.z() / cm;
2387 Float_t rGlobalThetaAngle = (Float_t) globalMomentum.theta() / degree;
2388 Float_t rGlobalPhiAngle = (Float_t) globalMomentum.phi() / degree - 90.0;
2398 Float_t rLocalVertexMomentumDirectionX = (Float_t) localVertexMomentumDirection.x();
2399 Float_t rLocalVertexMomentumDirectionY = (Float_t) localVertexMomentumDirection.y();
2400 Float_t rLocalVertexMomentumDirectionZ = (Float_t) localVertexMomentumDirection.z();
2404 Float_t rOriginVertexMomentumDirectionX = (Float_t) originVertexMomentumDirection.x();
2405 Float_t rOriginVertexMomentumDirectionY = (Float_t) originVertexMomentumDirection.y();
2406 Float_t rOriginVertexMomentumDirectionZ = (Float_t) originVertexMomentumDirection.z();
2409 Float_t rOriginVertexThetaAngle = (Float_t) originVertexMomentumDirection.theta() / degree;
2410 Float_t rOriginVertexPhiAngle = (Float_t) originVertexMomentumDirection.phi() / degree;
2422 rTotalDepositedEnergy += rDepositedEnergy;
2491 if (n_hitPMTOnlyPMT >0) {
2493 G4int PMTOnlyPMTHasBeenHit = 0;
2494 G4int PMTOnlyPMTHits = 0;
2495 G4float PMTOnlyNPE = 0;
2497 for (
int i1=0;i1<n_hitPMTOnlyPMT;i1++) {
2501 PMTOnlyPMTHasBeenHit = 5;
2518 if (n_hitLumi > 0) {
2521 for (
int i1=0;i1<n_hitLumi;i1++) {
2526 Float_t rTrackID = (Float_t) aHit->
GetTrackID();
2541 Float_t rGlobalPositionX = (Float_t) globalPosition.x() / cm;
2542 Float_t rGlobalPositionY = (Float_t) globalPosition.y() / cm;
2543 Float_t rGlobalPositionZ = (Float_t) globalPosition.z() / cm;
2547 Float_t rLocalPositionX = (Float_t) localPosition.x() / cm;
2548 Float_t rLocalPositionY = (Float_t) localPosition.y() / cm;
2549 Float_t rLocalPositionZ = (Float_t) localPosition.z() / cm;
2559 Float_t rOriginVertexPositionX = (Float_t) originVertexPosition.x() / cm;
2560 Float_t rOriginVertexPositionY = (Float_t) originVertexPosition.y() / cm;
2561 Float_t rOriginVertexPositionZ = (Float_t) originVertexPosition.z() / cm;
2570 Float_t rGlobalThetaAngle = (Float_t) globalMomentum.theta() / degree;
2571 Float_t rGlobalPhiAngle = (Float_t) globalMomentum.phi() / degree - 90.0;
2581 Float_t rLocalVertexMomentumDirectionX = (Float_t) localVertexMomentumDirection.x();
2582 Float_t rLocalVertexMomentumDirectionY = (Float_t) localVertexMomentumDirection.y();
2583 Float_t rLocalVertexMomentumDirectionZ = (Float_t) localVertexMomentumDirection.z();
2587 Float_t rOriginVertexMomentumDirectionX = (Float_t) originVertexMomentumDirection.x();
2588 Float_t rOriginVertexMomentumDirectionY = (Float_t) originVertexMomentumDirection.y();
2589 Float_t rOriginVertexMomentumDirectionZ = (Float_t) originVertexMomentumDirection.z();
2592 Float_t rOriginVertexThetaAngle = (Float_t) originVertexMomentumDirection.theta() / degree;
2593 Float_t rOriginVertexPhiAngle = (Float_t) originVertexMomentumDirection.phi() / degree;
2685 if (n_hitTungstenPlug >0) {
2687 Float_t rTotalDepositedEnergy = 0.0;
2690 for (
int i1=0;i1<n_hitTungstenPlug;i1++) {
2695 Float_t rTrackID = (Float_t) aHit->
GetTrackID();
2706 Float_t rGlobalPositionX = (Float_t) globalPosition.x() / cm;
2707 Float_t rGlobalPositionY = (Float_t) globalPosition.y() / cm;
2708 Float_t rGlobalPositionZ = (Float_t) globalPosition.z() / cm;
2712 Float_t rLocalPositionX = (Float_t) localPosition.x() / cm;
2713 Float_t rLocalPositionY = (Float_t) localPosition.y() / cm;
2714 Float_t rLocalPositionZ = (Float_t) localPosition.z() / cm;
2718 Float_t rOriginVertexPositionX = (Float_t) originVertexPosition.x() / cm;
2719 Float_t rOriginVertexPositionY = (Float_t) originVertexPosition.y() / cm;
2720 Float_t rOriginVertexPositionZ = (Float_t) originVertexPosition.z() / cm;
2729 Float_t rGlobalThetaAngle = (Float_t) globalMomentum.theta() / degree;
2730 Float_t rGlobalPhiAngle = (Float_t) globalMomentum.phi() / degree - 90.0;
2740 Float_t rLocalVertexMomentumDirectionX = (Float_t) localVertexMomentumDirection.x();
2741 Float_t rLocalVertexMomentumDirectionY = (Float_t) localVertexMomentumDirection.y();
2742 Float_t rLocalVertexMomentumDirectionZ = (Float_t) localVertexMomentumDirection.z();
2746 Float_t rOriginVertexMomentumDirectionX = (Float_t) originVertexMomentumDirection.x();
2747 Float_t rOriginVertexMomentumDirectionY = (Float_t) originVertexMomentumDirection.y();
2748 Float_t rOriginVertexMomentumDirectionZ = (Float_t) originVertexMomentumDirection.z();
2751 Float_t rOriginVertexThetaAngle = (Float_t) originVertexMomentumDirection.theta() / degree;
2752 Float_t rOriginVertexPhiAngle = (Float_t) originVertexMomentumDirection.phi() / degree;
2764 rTotalDepositedEnergy += rDepositedEnergy;
2868 G4int eventNumber = evt->GetEventID();
2870 if (eventNumber%1000 == 1)
2884 return sqrt((p1.x()-p2.x())*(p1.x()-p2.x())+
2885 (p1.y()-p2.y())*(p1.y()-p2.y())+
2886 (p1.z()-p2.z())*(p1.z()-p2.z()));
2901 G4double mp = 938.2796*MeV;
2910 G4double nu = E_in - E_out;
2911 G4double q2 = 4.0*E_in*E_out*sin(theta*degree/2.0)*sin(theta*degree/2.0);
2912 G4double x = q2/(2.0*mp*nu);
2913 G4double w = sqrt(mp*mp+2.0*mp*nu-q2);
2943 if (TargetLocalVertexTotalEnergy.size() > 0)
2944 E_out = TargetLocalVertexTotalEnergy[0];
2947 if (TargetGlobalThetaAngle.size() > 0)
2948 theta = TargetGlobalThetaAngle[0];
2950 G4cerr <<
"no hits in scattering chamber" << G4endl;
2951 theta = -180.0 * deg;
2956 q2 = 4.0*E_in*E_out*sin(theta*degree/2.0)*sin(theta*degree/2.0);
2958 w = sqrt(mp*mp+2.0*mp*nu-q2);
void StoreCrossSection(Float_t cs)
G4ThreeVector GetMomentumDirection() const
G4ThreeVector GetWorldMomentum() const
void StoreGlobalPhiAngle(Float_t phi)
void StoreCrossSectionRadElastic(Float_t cs)
void StoreGlobalThetaAngle(Float_t theta)
G4double GetKineticEnergy() const
void StoreOriginVertexMomentumDirectionZ(Float_t vz)
void StorePMTRightRate(std::vector< Float_t > rr)
void StoreDetectorID(Int_t did)
G4ThreeVector GetWorldPosition() const
G4int GetParticleType() const
void StoreTrackID(Float_t tid)
void StoreTransversePolarizationZ(Float_t pt)
void StoreTotalEnergy(Float_t te)
G4ThreeVector GetNormMomentum() const
G4int TriggerScintillatorDetector_CollID
void StoreDepositedEnergy(Float_t dpeg)
void StoreReactionType(Int_t rt)
void StorePhaseSpace(Float_t ps)
void StoreDepositedEnergy(Float_t dpeg)
void StoreOriginVertexMomentumDirectionY(Float_t vy)
void StoreDetectorLocalPositionY(Float_t ly)
ROOT Subtree structure for HDC WirePlaneEvent.
void StoredEIonTot(Float_t dE)
G4THitsCollection< QweakSimVDC_DriftCellHit > QweakSimVDC_DriftCellHitsCollection
void StorePMTRightYieldELPeak(std::vector< Float_t > yr)
G4int GetParticleType() const
G4double GetTotalEnergy() const
G4double GetPhotonEnergy() const
G4double GetEffectiveKinematicQ2() const
void StoreGlobalMomentumX(Float_t px)
G4ThreeVector GetWorldMomentum() const
void StoreLocalVertexMomentumDirectionY(Float_t vy)
void StorePrimaryEventNumber(Int_t pen)
G4double GetHitDepositedEnergy() const
void ResetCerenkovSecondaryParticleInfo()
void StoreTotalEnergyDeposit(Float_t eng)
QweakSimUserPMTOnly_PMTEvent PMT
PMT hit information.
G4ThreeVector GetOriginVertexPosition() const
G4ThreeVector GetLocalPosition() const
G4ThreeVector GetOriginVertexPosition() const
void StoreDetectorGlobalPositionX(Float_t lx)
void StoreGlobalPhiAngle(Float_t phi)
void EndOfEventAction(const G4Event *evt)
void StoreGlobalMomentumX(Float_t px)
void StoreDetectorHasBeenHit(Int_t n)
void StoreDetectorLocalExitPositionY(Float_t ly)
QweakSimUserTungstenPlug_MainEvent TungstenPlug
tree containing TungstenPlug info
void StorePMTTotalYieldQE(std::vector< Float_t > yt)
G4double GetPrimaryQ2() const
G4int VDC_DriftCellBack_CollID
void StoreOriginVertexPhiAngle(Float_t phi)
void StoreOriginVertexTotalEnergy(Float_t etot)
void StoreDCUPlaneWireAngle(Float_t dc_ua)
G4ThreeVector GetLocalPosition() const
void StoreParticleName(TString pn)
void StoreGlobalTimeOfHit(Float_t gtime)
void StoreGlobalThetaAngle(Float_t theta)
G4ThreeVector GetOriginVertexMomentumDirection() const
void StoreGlobalMomentumY(Float_t py)
void StorePolarizationZ(Float_t pz)
void StorePlaneGlobalMomentumY(Float_t gpy)
G4double GetOriginVertexKineticEnergy() const
void StoreGlobalTimeOfHit(Float_t gtime)
QweakSimUserHDC_SingleHDCEvent ChamberBack
Back HDC wire chamber hit information.
QweakSimUserVDC_Config Config
Drift chamber configuration information.
void StoreGlobalThetaAngle(Float_t theta)
G4String GetParticleName() const
void StorePMTHasBeenHit(Int_t np)
G4double GetHitTime() const
void StoredETotOut(Float_t dE)
G4ThreeVector GetLocalPosition() const
void StoreParticleName(TString pn)
void StoreParticleName(TString pn)
G4double GetThetaAngle_Max()
G4int GetParticleType() const
G4String GetParticleName() const
void StoreOriginVertexKinematicW(Float_t w)
void StoreLocalPhiAngle(Float_t phi)
void StoreParentID(Int_t Pid)
void StoreOriginVertexMomentumDirectionY(Float_t vy)
void StoreDCVPlaneWireAngle(Float_t dc_va)
void StoreDetectorNbOfHits(Int_t nd)
void StoreOriginVertexMomentumDirectionY(Float_t vy)
void StorePMTTotalRateEL(std::vector< Float_t > rt)
void StoreTrackID(Float_t tid)
void StoreOriginVertexKineticEnergy(Float_t ekin)
void StoreKineticEnergy(Float_t ke)
G4double GetOriginVertexPositionX() const
void StoreParticleType(Int_t pt)
void StoreDetectorHasBeenHit(Int_t n)
void StoreDCWidthOnFrame(Float_t dcw)
G4int GetDetectorID() const
std::vector< G4bool > fTrigger
G4double GetGlobalTime() const
G4ThreeVector GetWorldMomentum() const
void StoreLocalMomentumZ(Float_t lpz)
void StoreOriginVertexPositionY(Float_t vy)
void StoredEMscTot(Float_t dE)
void StorePMTTotalYieldELPeak(std::vector< Float_t > yt)
void StorePlaneGlobalMomentumZ(Float_t gpz)
void StorePhiAngle_Max(Float_t ang)
void StoreOriginVertexThetaAngle(Float_t theta)
void StoreGlobalThetaAngle(Float_t theta)
G4ThreeVector GetLocalMomentum() const
void StoreOriginVertexKineticEnergy(Float_t ekin)
void StoreOriginVertexKineticEnergy(Float_t ekin)
void StorePrimaryEventNumber(Int_t pen)
static const G4bool print_VDC_WirePlaneHit
void StoreDetectorLocalPositionX(Float_t lx)
QweakSimUserLumi_MainEvent Lumi
tree containing Lumi detector info
QweakSimUserVDC_MainEvent Region3
object containing VDC info
G4THitsCollection< QweakSimCerenkov_PMTHit > QweakSimCerenkovDetector_PMTHitsCollection
void StoreDetectorLocalVertexTotalEnergy(Float_t etot)
void StoreLocalMomentumX(Float_t px)
Handling of a hit in the Cerenkov detector.
void StorePMTTotalYield(std::vector< Float_t > yt)
void StoreOriginVertexKinematicQ2(Float_t q2)
std::vector< Float_t > GetGlobalThetaAngle() const
void StoreNbOfHits(Int_t noh)
void StoreDetectorLocalPositionX(Float_t lx)
G4double GetEffectiveKinematicW() const
Stores the information about the various tracks.
G4THitsCollection< QweakSimTungstenPlug_DetectorHit > QweakSimTungstenPlug_DetectorHitsCollection
G4String GetParticleName() const
void StoreGlobalPhiAngle(Float_t phi)
void StoreGlobalTimeOfHit(Float_t gtime)
G4double GetTrackID() const
G4int GetDetectorID() const
void StoreEdgeEventFlag(Int_t flag)
void StoreParticleID(Int_t pid)
void StoreLocalMomentumY(Float_t py)
G4double GetGlobalTime() const
G4double GetTrackID() const
G4int PMTOnlyDetectorPMT_CollID
G4double GetOriginVertexMomentumDirectionX() const
G4double GetTotalEnergy() const
void StoreOriginVertexPositionZ(Float_t vz)
G4int GetParticleType() const
void StoreOriginVertexTotalEnergy(Float_t etot)
void StoreCreatorProcessName(TString name)
G4int PMTOnlyDetector_CollID
void StoreDetectorLocalPositionY(Float_t ly)
void StoreCrossSectionBornInelastic(Float_t cs)
G4ThreeVector GetLocalMomentum() const
G4int GetReactionRegion() const
void StoreLocalVertexMomentumDirectionZ(Float_t vz)
void StoreDepositedEnergy(Float_t dpeg)
void StorePrimaryEventNumber(Int_t pen)
G4double GetTrackID() const
void StorePackageID(Int_t pid)
G4double GetCrossSectionRadDISIntOnly() const
G4int TargetDetector_CollID
void StorePlaneLocalMomentumY(Float_t lpy)
void StoreTransversePolarizationZ(Float_t pt)
void StoreDetectorLocalPositionZ(Float_t lz)
G4ThreeVector GetWorldMomentum() const
void StoreParticleName(TString pn)
void StoreVDriftCellNbOfHits(Int_t nv)
void StorePlaneLocalPositionY(Float_t ly)
void StoreDetectorLocalPositionZ(Float_t lz)
void Clear(const Option_t *=0)
QweakSimUserGEM_SingleGEMEvent ChamberBack
Back GEM chamber hit information.
G4double GetOriginVertexTotalEnergy() const
void StoreOriginVertexThetaAngle(Float_t theta)
QweakSimEventAction(QweakSimAnalysis *AN, QweakSimUserInformation *myUI)
Constructor.
void StoreLocalVertexMomentumDirectionX(Float_t vx)
G4double GetGlobalTime() const
G4ThreeVector GetLocalPosition() const
void StoreGlobalTimeOfHit(Float_t gtime)
void StoreOriginVertexMomentumDirectionZ(Float_t vz)
G4int GetPrimaryEventNumber() const
void StoreOriginVertexMomentumDirectionZ(Float_t vz)
void StoreOriginVertexPositionX(Float_t vx)
void StoreOriginVertexPhiAngle(Float_t phi)
void StoreParticleType(Int_t pt)
QweakSimUserCerenkov_RadiatorEvent Radiator
Cerenkov radiator hit information.
QweakSimUserHDC_WirePlaneEvent WirePlane5
void StoreOriginVertexPhiAngle(Float_t phi)
void StoreKineticEnergy(Float_t ke)
void StoreOriginVertexThetaAngle(Float_t theta)
G4double GetOriginVertexKineticEnergy() const
void StorePolarizationY(Float_t py)
void StoreUDriftCellNbOfHits(Int_t nu)
void StoreDetectorGlobalPositionX(Float_t lx)
G4int VDC_DriftCellFront_CollID
void StoreDetectorLocalExitPositionX(Float_t lx)
QweakSimUserVDC_DriftCellEvent DriftCell
Drift cell hit information.
Region 3 Vertical Drift Chamber Drift Cell Hit.
QweakSimAnalysis * analysis
void StoreDepositedEnergy(Float_t dpeg)
void StoreLocalVertexMomentumDirectionY(Float_t vy)
ROOT Subtree structure for HDC SingleHDCEvent.
void StoreDetectorGlobalPositionY(Float_t ly)
G4double GetDistance(G4ThreeVector, G4ThreeVector)
void StoreDetectorLocalPositionX(Float_t lx)
void StoreLocalVertexMomentumDirectionX(Float_t vx)
G4ThreeVector GetOriginVertexPosition() const
static const int PmtMaxSize
G4double GetThetaAngle_Min()
G4ThreeVector GetMomentumDirection() const
void StorePolarizationX(Float_t px)
void StoredETot(Float_t dE)
void StoreDetectorNbOfHits(Int_t nd)
void StoreParticleType(Int_t pt)
void StoreHasBeenHit(Int_t nu)
G4ThreeVector GetLocalPosition() const
QweakSimUserVDC_SingleVDCEvent ChamberBack
Back chamber hit information.
void StoreDetectorGlobalPositionX(Float_t lx)
void StoreKineticEnergy(Float_t ke)
void StoreParticleName(TString pn)
G4ThreeVector GetMomentumDirection() const
G4double GetTotalEnergy() const
G4ThreeVector GetWorldPosition() const
void StoreOriginVertexThetaAngle(Float_t theta)
void StoreOriginVertexMomentumDirectionX(Float_t vx)
void StorePMTRightRateQE(std::vector< Float_t > rr)
G4ThreeVector GetWorldPosition() const
G4int GEM_WirePlane_CollID
void StoreDetectorLocalPositionX(Float_t lx)
void StorePMTLeftYieldELPeak(std::vector< Float_t > yl)
void StoreGlobalPhiAngle(Float_t phi)
void StoreParticleType(Int_t pt)
G4double GetCrossSectionRadQEIntOnly() const
void StoreDetectorLocalVertexKineticEnergy(Float_t ekin)
void StoreOriginVertexPositionY(Float_t vy)
void StorePMTRightYield(std::vector< Float_t > yr)
G4double GetKineticEnergy() const
void StoreTransversePolarization(Float_t pt)
G4double GetKineticEnergy() const
void StoreDetectorGlobalPositionX(Float_t lx)
G4double GetKineticEnergy() const
G4double GetCrossSectionRadQE() const
void StoreOriginVertexPositionY(Float_t vy)
void StoreCrossSectionRadTotalIntOnly(Float_t cs)
G4int GetParticleType() const
QweakSimEPEvent * GetEPEvent()
G4ThreeVector GetOriginVertexMomentumDirection() const
void StorePMTTotalYieldEL(std::vector< Float_t > yt)
void StorePMTLeftYieldQE(std::vector< Float_t > yl)
G4String GetParticleName() const
G4THitsCollection< QweakSimPMTOnly_PMTHit > QweakSimPMTOnly_PMTHitsCollection
G4ThreeVector GetOriginVertexMomentumDirection() const
void StoreDetectorGlobalPositionX(Float_t lx)
void StoreOriginVertexMomentumDirectionX(Float_t vx)
void StoreLocalVertexMomentumDirectionZ(Float_t vz)
G4THitsCollection< QweakSimTriggerScintillator_DetectorHit > QweakSimTriggerScintillator_DetectorHitsCollection
G4double GetOriginVertexKineticEnergy() const
void StoreOriginVertexThetaAngle(Float_t theta)
QweakSimUserVDC_WirePlaneEvent WirePlaneU
U wire plane hit information.
void StoreGlobalTimeOfHit(Float_t gtime)
void StoreOriginVertexKineticEnergy(Float_t ekin)
G4ThreeVector GetWorldPosition() const
G4int VDC_WirePlane_CollID
QweakSimUserTarget_MainEvent Target
object containing target hits
void StoreCreatorProcessName(TString name)
void StorePDGcode(Int_t code)
void StoreOriginVertexTotalEnergy(Float_t etot)
void StorePMTTotalRate(std::vector< Float_t > rt)
void StorePMTRightYieldQE(std::vector< Float_t > yr)
G4ThreeVector GetWorldPosition() const
void StoreEPrime_Min(Float_t energy)
void StoreOriginVertexPositionZ(Float_t vz)
G4double GetDCVPlaneWireAngle() const
void StoreGlobalTimeOfHit(Float_t gtime)
void StoreGlobalPositionY(Float_t ly)
void StoreParticleID(Int_t pid)
G4double GetCrossSectionRadElasticPeak() const
void StoreDepositedEnergy(Float_t dpeg)
G4double GetGlobalTime() const
void StoreTrackID(Int_t tid)
QweakSimUserLumi_DetectorEvent Detector
G4double GetHitDepositedEnergy() const
G4String GetCreatorProcessName() const
void StoreDetectorLocalVertexTotalEnergy(Float_t etot)
G4int LeadGlassPMT_CollID
void StoreOriginVertexMomentumDirectionY(Float_t vy)
void StorePMTLeftRateELPeak(std::vector< Float_t > rl)
G4ThreeVector GetWorldPosition() const
void StoreLocalPositionX(Float_t lx)
void StoreCrossSectionRadQE(Float_t cs)
G4THitsCollection< QweakSimHDC_WirePlaneHit > QweakSimHDC_WirePlane_HitsCollection
G4THitsCollection< QweakSimCerenkov_RadiatorHit > QweakSimCerenkovRadiatorHitsCollection
void StoreLocalVertexMomentumDirectionX(Float_t vx)
G4double GetEffectiveKinematicNu() const
G4int GetParticleType() const
G4double GetGlobalTime() const
G4ThreeVector GetOriginVertexMomentumDirection() const
QweakSimUserTriggerScintillator_MainEvent TriggerScintillator
object containing TriggerScintilliator info
void StoreDetectorGlobalPositionY(Float_t ly)
void StoreDetectorGlobalPositionY(Float_t ly)
void StorePlaneGlobalMomentumX(Float_t gpx)
void StoreOriginVertexMomentumDirectionY(Float_t vy)
G4double GetKineticEnergy() const
void StoreDetectorLocalVertexTotalEnergy(Float_t etot)
void StoreOriginVertexMomentumDirectionX(Float_t vx)
void StoreGlobalPhiAngle(Float_t phi)
G4ThreeVector GetWorldPosition() const
void StoreDetectorLocalVertexKineticEnergy(Float_t ekin)
void StoreParticleType(Int_t pt)
void StoreOriginVertexKinematicX(G4double X)
G4double GetTotalEnergy() const
G4int GetParticleType() const
void StorePMTLeftRateQE(std::vector< Float_t > rl)
void StoreLocalThetaAngle(Float_t theta)
void StoreGlobalTimeOfHit(Float_t gtime)
G4double GetDCWidthOnFrame() const
G4String GetParticleName() const
void StorePMTRightNbOfPEs(std::vector< Float_t > npr)
void StoreOriginVertexThetaAngle(Float_t theta)
void StoreDetectorGlobalPositionZ(Float_t lz)
G4THitsCollection< QweakSimVDC_WirePlaneHit > QweakSimVDC_WirePlane_HitsCollection
void StorePMTLeftYieldDIS(std::vector< Float_t > yl)
void StoreOriginVertexPhiAngle(Float_t phi)
void StoreOriginVertexKineticEnergy(Float_t ekin)
G4ThreeVector GetLocalCerenkovExitPosition()
void StoreEffectiveKinematicW(Float_t w)
void StoreOriginVertexPositionY(Float_t vy)
void StorePolarizationZ(Float_t pz)
G4String GetParticleName() const
G4int GetWirePlaneID() const
G4double GetHitDepositedEnergy() const
void StorePolarizationX(Float_t px)
void StoreDetectorNbOfHits(Int_t nd)
G4double GetOriginVertexTotalEnergy() const
G4double GetCrossSection() const
void StoreDetectorLocalPositionY(Float_t ly)
void StoreDetectorNbOfHits(Int_t nd)
QweakSimUserTarget_DetectorEvent Detector
void StorePlaneGlobalPositionX(Float_t gx)
void StoreCrossSectionRadElasticPeak(Float_t cs)
G4double GetHitDepositedEnergy() const
void StoreLocalThetaAngle(Float_t theta)
void StoreOriginVertexPositionY(Float_t vy)
void StoreGlobalThetaAngle(Float_t theta)
void StoreOriginVertexPositionZ(Float_t vz)
void StoreOriginVertexMomentumDirectionZ(Float_t vz)
void StoreDetectorLocalVertexKineticEnergy(Float_t ekin)
void StoreDetectorLocalPositionX(Float_t lx)
void StorePackageID(Int_t pid)
void StoreDetectorHasBeenHit(Int_t n)
void StoreCrossSectionRadTotal(Float_t cs)
void StoreOriginVertexPositionX(Float_t vx)
void StoreGlobalTimeOfHit(Float_t gtime)
void StorePlaneLocalPositionX(Float_t lx)
void StoreOriginVertexThetaAngle(Float_t theta)
QweakSimUserLeadGlass_DetectorEvent Detector
G4double GetOriginVertexKineticEnergy() const
void StoreDetectorLocalPositionY(Float_t ly)
G4ThreeVector GetOriginVertexPosition() const
QweakSimUserHDC_MainEvent Region2
object containing HDC info
void StoreDetectorHasBeenHit(Int_t n)
QweakSimUserHDC_WirePlaneEvent WirePlane1
G4THitsCollection< QweakSimTarget_DetectorHit > QweakSimTarget_DetectorHitsCollection
void StoreGlobalThetaAngle(Float_t theta)
void StoreDetectorLocalPositionX(Float_t lx)
G4ThreeVector GetLocalPosition() const
G4ThreeVector GetLocalPosition() const
void StorePolarizationY(Float_t py)
Handling of the output ROOT file.
void StoreDetectorLocalVertexKineticEnergy(Float_t ekin)
void StoreDetectorLocalPositionY(Float_t ly)
void StoreDetectorNbOfHits(Int_t nd)
QweakSimUserMainEvent * fRootEvent
void StoreDetectorGlobalPositionX(Float_t lx)
G4double GetOriginVertexTotalEnergy() const
G4double GetOriginVertexKineticEnergy() const
void StorePMTTotalNbOfPEs(Float_t npt)
G4ThreeVector GetOriginVertexPosition() const
G4ThreeVector GetOriginVertexPosition() const
void StorePMTLeftRateEL(std::vector< Float_t > rl)
void StoreGlobalPhiAngle(Float_t phi)
G4ThreeVector GetWorldMomentum() const
void StoreOriginVertexPositionX(Float_t vx)
G4double GetOriginVertexKinematicNu() const
void StoreOriginVertexPositionZ(Float_t vz)
void StoreRandomSeed(TString seed)
void StoreOriginVertexMomentumDirectionY(Float_t vy)
void StoreDetectorLocalPositionY(Float_t ly)
QweakSimUserHDC_WirePlaneEvent WirePlane2
void StorePMTRightYieldDIS(std::vector< Float_t > yr)
void StoreCrossSectionWeight(Float_t csw)
void StorePMTTotalYieldDIS(std::vector< Float_t > yt)
void StoreDetectorGlobalPositionX(Float_t lx)
G4double GetOriginVertexPositionZ() const
G4THitsCollection< QweakSimLumi_DetectorHit > QweakSimLumi_DetectorHitsCollection
G4ThreeVector GetOriginVertexPosition() const
G4int TungstenPlugDetector_CollID
void StoreReactionRegion(Int_t rt)
void StoreTotalEnergy(Float_t te)
void StoreGlobalPositionZ(Float_t lz)
G4ThreeVector GetWorldPosition() const
G4double GetAsymmetry() const
void StoreOriginVertexMomentumDirectionZ(Float_t vz)
void SetTrigger(const G4String value, const G4bool status)
void StoreOriginVertexPositionX(Float_t vx)
void StoreLocalPositionY(Float_t ly)
G4ThreeVector GetOriginVertexMomentumDirection() const
void StoreTransversePolarizationPhiAngle(Float_t phi)
QweakSimUserGEM_SingleGEMEvent ChamberFront
Front GEM chamber hit information.
G4double GetOriginVertexKineticEnergy() const
void StoreDetectorGlobalPositionZ(Float_t lz)
G4ThreeVector GetMomentumDirection() const
G4double GetBeamEnergy() const
void StoreDetectorGlobalPositionY(Float_t ly)
void StoreEffectiveKinematicW(G4double W)
void StoreOriginVertexPositionY(Float_t vy)
void StorePlaneLocalPositionZ(Float_t lz)
void StoreKineticEnergy(Float_t ke)
void StoreOriginVertexMomentumDirectionX(Float_t vx)
void StoreElasticScatteredEnergy(Float_t ep)
G4double GetPhiAngle_Max()
void StoreOriginVertexPositionZ(Float_t vz)
Handles hits of the HDC wire planes.
void StoreDetectorGlobalPositionY(Float_t ly)
void StoreCrossSectionBornTotal(Float_t cs)
void StoreOriginVertexThetaAngle(Float_t theta)
void StoreOriginVertexPositionZ(Float_t vz)
void StoredEIonOut(Float_t dE)
G4int GetParentID() const
void StoreDetectorHasBeenHit(Int_t n)
G4ThreeVector GetOriginVertexMomentumDirection() const
QweakSimUserVDC_SingleVDCEvent ChamberFront
Front chamber hit information.
G4ThreeVector GetWorldMomentum() const
void StoreNumberOfEventToBeProcessed(Int_t events)
void StoreOriginVertexKinematicNu(G4double Nu)
void StoreOriginVertexMomentumDirectionY(Float_t vy)
void StoreOriginVertexPositionX(Float_t vx)
void StoreEffectiveKinematicNu(G4double Nu)
void StoreOriginVertexMomentumDirectionX(Float_t vx)
void StoreDetectorLocalExitPositionX(Float_t lx)
void StoreOriginVertexPositionY(Float_t vy)
void StoreDetectorNbOfHits(Int_t nd)
ROOT Subtree structure for VDC WirePlaneEvent.
G4double GetOriginVertexTotalEnergy() const
void StoreOriginVertexKineticEnergy(Float_t ekin)
G4double GetOriginVertexKinematicW() const
void StoreOriginVertexKinematicW(G4double W)
void StorePMTTotalRateDIS(std::vector< Float_t > rt)
G4THitsCollection< QweakSimLeadGlass_DetectorHit > QweakSimLeadGlass_DetectorHitsCollection
G4double GetKineticEnergy() const
void StoreDetectorLocalPositionY(Float_t ly)
void StoreOriginVertexMomentumDirectionZ(Float_t vz)
G4int GetParentID() const
void StoreOriginVertexMomentumDirectionX(Float_t vx)
G4ThreeVector GetMomentumDirection() const
Handling of a hit in the Cerenkov radiator.
void StoreDetectorLocalPositionY(Float_t ly)
void StoreParticleName(TString pn)
void StoreLocalMomentumZ(Float_t pz)
G4ThreeVector GetPolarization() const
void StoreAsymmetry(Float_t asym)
QweakSimUserHDC_WirePlaneEvent WirePlane4
void StoreParticleName(TString pn)
void StoreOriginVertexPositionX(Float_t vx)
void StoreTransversePolarizationY(Float_t pt)
void StoreGlobalPhiAngle(Float_t phi)
G4ThreeVector GetLocalPosition() const
void StoreOriginVertexKinematicX(Float_t x)
void StoreDetectorLocalExitPositionZ(Float_t lz)
void StoreTrackID(Float_t tid)
void StorePlaneHasBeenHit(Int_t nx)
void StorePMTTimeOfHits(std::vector< Float_t > time)
QweakSimUserCerenkov_MainEvent Cerenkov
object containing Cerenkov detector info
void StoreGlobalThetaAngle(Float_t theta)
G4double GetOriginVertexTotalEnergy() const
G4int GetParticleType() const
G4ThreeVector GetOriginVertexMomentumDirection() const
void StoreEffectiveKinematicNu(Float_t nu)
void StoreNbOfHits(Int_t noh)
void StorePMTLeftRate(std::vector< Float_t > rl)
G4double GetHitDepositedEnergy() const
void StorePMTTotalNbOfHits(Int_t npt)
G4double GetCrossSectionBornQE() const
void StoreTrackID(Float_t tid)
void StoreOriginVertexPositionX(Float_t vx)
QweakSimUserCerenkov_DetectorEvent Detector
Cerenkov detector hit information.
void AutoSaveRootNtuple()
void StoreGlobalThetaAngle(Float_t theta)
void StoreDetectorLocalVertexTotalEnergy(Float_t etot)
void StoreOriginVertexTotalEnergy(Float_t etot)
void StoreOriginVertexMomentumDirectionY(Float_t vy)
void StoreParentID(Int_t Pid)
void StoreOriginVertexPositionX(Float_t vx)
void StoreOriginVertexPositionX(Float_t vx)
void StoreLocalMomentumY(Float_t lpy)
Messenger for filling//storing the hit event structure at the end of an event.
G4ThreeVector GetWorldPosition() const
G4int LeadGlassDetector_CollID
G4double GetTotalEnergy() const
G4double GetGlobalTime() const
void StoreOriginVertexTotalEnergy(Float_t etot)
G4ThreeVector GetWorldMomentum() const
G4String GetParticleName() const
G4ThreeVector GetPolarization() const
void StoreGlobalMomentumY(Float_t gpy)
void StoredEIonIn(Float_t dE)
void StoreOriginVertexPositionZ(Float_t vz)
G4double GetOriginVertexTotalEnergy() const
G4double GetGlobalTime() const
void StoreOriginVertexMomentumDirectionZ(Float_t vz)
void StoreEffectiveKinematicQ2(G4double Q2)
void StoreDetectorLocalPositionZ(Float_t lz)
G4ThreeVector GetLocalMomentum() const
void StoreOriginVertexPositionZ(Float_t vz)
G4int GetDetectorID() const
void StoreEffectiveKinematicX(Float_t x)
void StoreDetectorLocalPositionZ(Float_t lz)
void StoreDetectorHasBeenHit(Int_t n)
void StoreParticleName(TString pn)
void StorePMTLeftNbOfHits(std::vector< Int_t > npl)
void StoreLocalPositionZ(Float_t lz)
void StoreOriginVertexKineticEnergy(Float_t ekin)
void StoreOriginVertexPositionZ(Float_t vz)
G4ThreeVector GetOriginVertexMomentumDirection() const
void StoreOriginVertexMomentumDirectionY(Float_t vy)
static const G4bool print_VDC_DriftCellHit
G4double GetOriginVertexKinematicX() const
G4ThreeVector GetLocalMomentum() const
void StoreOriginVertexKineticEnergy(Float_t ekin)
void StoreOriginVertexMomentumDirectionY(Float_t vy)
G4double GetOriginVertexTotalEnergy() const
G4int GetParticleType() const
void StoreOriginVertexMomentumDirectionX(Float_t vx)
std::map< G4String, EQweakSimTriggerMode > kMapTriggerMode
void StoreLocalVertexMomentumDirectionZ(Float_t vz)
G4int TriggerScintillatorPMT_CollID
QweakSimUserHDC_SingleHDCEvent ChamberFront
Front HDC wire chamber hit information.
void StorePMTLeftYield(std::vector< Float_t > yl)
G4double Elastic_Cross_Section_Proton(G4double E_in, G4double Theta, G4double &fWeightN, G4double &Q2, G4double &E_out)
G4double GetPreScatteringKineticEnergy() const
void StoreLongitudinalPolarization(Float_t pl)
void StoreOriginVertexMomentumDirectionX(Float_t vx)
QweakSimUserGEM_MainEvent Region1
object containing HDC info
void StoreOriginVertexPhiAngle(Float_t phi)
Handling of a U-WirePlane and/or V-WirePlane Hit of the VDC.
void StoreGlobalPhiAngle(Float_t phi)
void StoreGlobalPhiAngle(Float_t phi)
G4double GetNumberOfPhotoelectronsS20(G4double eng)
void StoreOriginVertexKinematicNu(Float_t nu)
void StorePMTRightYieldEL(std::vector< Float_t > yr)
void StoreEffectiveKinematicX(G4double X)
void StoreDetectorGlobalPositionY(Float_t ly)
void StoreElasticMomentumTransfer(Float_t q2)
void StoreOriginVertexPhiAngle(Float_t phi)
G4String GetParticleName() const
QweakSimUserCerenkov_PMTEvent PMT
Cerenkov PMT hit information.
virtual void DrawTrajectory(G4int i_mode=0) const
void StoreDetectorLocalPositionZ(Float_t lz)
void StorePMTOctantOfHits(std::vector< Int_t > octant)
void StoreGlobalMomentumZ(Float_t pz)
void StoreDetectorNbOfHits(Int_t nd)
G4double GetOriginVertexTotalEnergy() const
void StorePMTTotalNbOfHits(std::vector< Int_t > npt)
void StoreTransversePolarization(Float_t pt)
void StoreLocalVertexMomentumDirectionY(Float_t vy)
G4ThreeVector GetOriginVertexPosition() const
G4double GetDCUPlaneWireAngle() const
G4int GetParticleType() const
G4double GetOriginVertexKineticEnergy() const
void StoreTransversePolarizationPhiAngle(Float_t phi)
void StoreDetectorLocalPositionZ(Float_t lz)
void StoreParticleType(Int_t pt)
void StorePMTRightRateELPeak(std::vector< Float_t > rr)
void StorePlaneLocalMomentumZ(Float_t lpz)
G4double GetOriginVertexTotalEnergy() const
void StoreRate(Float_t rate)
void StoreTotalEnergy(Float_t te)
void StoreDetectorHasBeenHit(Int_t n)
G4ThreeVector GetWorldMomentum() const
void StoreTrackID(Float_t tid)
void StorePrimaryEventNumber(Int_t pen)
G4int CerenkovDetector_CollID
void StoreCrossSectionRadQEIntOnly(Float_t cs)
void StoreLocalVertexMomentumDirectionX(Float_t vx)
void StoreEffectiveKinematicQ2(Float_t q2)
void StoreOriginVertexThetaAngle(Float_t theta)
void StoreGlobalMomentumY(Float_t py)
void StoreLongitudinalPolarization(Float_t pl)
void StorePhiAngle_Min(Float_t ang)
void StoreDepositedEnergy(Float_t dpeg)
void StoreLocalVertexMomentumDirectionY(Float_t vy)
void StoreCrossSectionBornQE(Float_t cs)
G4double GetTrackID() const
void StoreParticleName(TString pn)
virtual ~QweakSimEventAction()
Destructor.
void StoreGlobalMomentumZ(Float_t pz)
G4double GetCrossSectionRadDIS() const
G4double GetDCFullThickness() const
void StoreDetectorLocalExitPositionZ(Float_t lz)
G4double GetTotalEnergy() const
void StoreTotalEnergy(Float_t te)
void StoreParticleType(Int_t pt)
void StoreOriginVertexPositionY(Float_t vy)
void StoredEMscOut(Float_t dE)
void StoreLocalMomentumX(Float_t lpx)
void StoreGlobalThetaAngle(Float_t theta)
void StoreDetectorLocalVertexKineticEnergy(Float_t ekin)
void StoreTransversePolarizationX(Float_t pt)
void StoreDetectorLocalPositionX(Float_t lx)
void StoreLuminosity(Float_t lum)
void StoreOriginVertexKineticEnergy(Float_t ekin)
G4ThreeVector GetWorldMomentum() const
G4double GetTotalEnergy() const
G4double GetCrossSectionRadTotalIntOnly() const
void StoreDetectorLocalPositionZ(Float_t lz)
void StoreOriginVertexKinematicQ2(G4double Q2)
G4double GetGlobalTime() const
G4double GetCrossSectionBornTotal() const
void StoreOriginVertexMomentumDirectionZ(Float_t vz)
G4int GetWirePlaneID() const
void StoreOriginVertexTotalEnergy(Float_t etot)
ROOT Subtree structure for VDC SingleVDCEvent.
G4ThreeVector GetOriginVertexMomentumDirection() const
G4double GetOriginVertexPositionY() const
void StoreDetectorLocalPositionZ(Float_t lz)
void StoreThetaAngle_Min(Float_t ang)
void StorePMTTotalNbOfPEs(std::vector< Float_t > npt)
void StoreDetectorHasBeenHit(Int_t n)
void StoreParticleType(Int_t pt)
void StoreDetectorGlobalPositionZ(Float_t lz)
void StoreTotalEnergyDeposit(Float_t eng)
void StoreDetectorGlobalPositionY(Float_t ly)
std::vector< G4String > fTriggerName
void CalculateKinematicVariables()
G4double GetOriginVertexMomentumDirectionZ() const
void StoredEMscIn(Float_t dE)
void StorePMTRightRateDIS(std::vector< Float_t > rr)
void StorePrimaryEventNumber(Int_t pen)
void StoredEBremIn(Float_t dE)
void StoreOriginVertexPositionY(Float_t vy)
G4double CalculateRate(G4double xsec, G4int PEs)
G4ThreeVector GetOriginVertexPosition() const
void StoreGlobalTime(Float_t gtime)
QweakSimUserVDC_WirePlaneEvent WirePlaneV
V wire plane hit information.
G4double GetHitDepositedEnergy() const
void StoreLocalVertexMomentumDirectionY(Float_t vy)
void StoreLocalVertexMomentumDirectionX(Float_t vx)
G4ThreeVector GetLocalPosition() const
void StoreThetaAngle_Max(Float_t ang)
void StoreLocalPhiAngle(Float_t phi)
QweakSimUserTungstenPlug_DetectorEvent Detector
G4int GetNumberOfEventToBeProcessed() const
G4double GetOriginVertexTotalEnergy() const
void StoreDetectorNbOfHits(Int_t nd)
G4double GetCrossSectionWeight() const
void StoreOriginVertexPhiAngle(Float_t phi)
void StoreDetectorGlobalPositionZ(Float_t lz)
void StoreDetectorLocalVertexTotalEnergy(Float_t etot)
void StorePMTTotalRateELPeak(std::vector< Float_t > rt)
G4double GetOriginVertexKineticEnergy() const
G4double GetKineticEnergy() const
void StorePlaneLocalMomentumX(Float_t lpx)
G4double GetEffectiveKinematicX() const
void StoreGlobalMomentumZ(Float_t gpz)
QweakSimUserTriggerScintillator_DetectorEvent Detector
Detector event in the trigger scintillator.
void StoreDetectorNbOfHits(Int_t nd)
void StoreOriginVertexThetaAngle(Float_t theta)
void StoreGlobalPositionX(Float_t lx)
void StorePMTRightRateEL(std::vector< Float_t > rr)
void StoreLocalMomentumY(Float_t py)
G4double GetPhotonEnergy() const
G4int HDC_WirePlane_CollID
QweakSimUserPMTOnly_MainEvent PMTOnly
tree containing PMTOnly info
void StoreLocalMomentumZ(Float_t pz)
void StoreOriginVertexPhiAngle(Float_t phi)
void StoreLocalVertexMomentumDirectionZ(Float_t vz)
G4int GetReactionType() const
QweakSimUserHDC_WirePlaneEvent WirePlane6
void StoreOriginVertexMomentumDirectionZ(Float_t vz)
void StoreTotalEnergyDeposit(Float_t eng)
static const G4bool print_TriggerScintillator_DetectorHit
void StoreOriginVertexPositionX(Float_t vx)
QweakSimUserHDC_WirePlaneEvent WirePlane3
QweakSimEventActionMessenger * fEventActionMessenger
G4double GetGlobalTime() const
G4THitsCollection< QweakSimPMTOnly_DetectorHit > QweakSimPMTOnly_DetectorHitsCollection
G4ThreeVector GetLocalPosition() const
void StoreDetectorGlobalPositionZ(Float_t lz)
void StoreElasticCrossSection(Float_t xs)
void StoreDetectorGlobalPositionZ(Float_t lz)
void StoreGlobalThetaAngle(Float_t theta)
QweakSimUserPMTOnly_DetectorEvent Detector
void StoredEBremOut(Float_t dE)
void StoreDetectorLocalPositionX(Float_t lx)
void StorePMTEnergyOfHits(std::vector< Float_t > time)
QweakSimUserPrimaryEvent Primary
object containing primary particle info
void StorePlaneGlobalPositionZ(Float_t gz)
void StoreEPrime_Max(Float_t energy)
void StorePMTLeftYieldEL(std::vector< Float_t > yl)
void StoreOriginVertexPhiAngle(Float_t phi)
void StoreTransversePolarizationX(Float_t pt)
G4double GetTrackID() const
G4double GetCrossSectionRadTotal() const
void StorePrimaryQ2(Float_t pq2)
G4double GetTotalEnergy() const
void StoreTransversePolarizationY(Float_t pt)
void StoreDetectorGlobalPositionY(Float_t ly)
void StoreParticleType(Int_t pt)
void StoreBeamEnergy(Float_t energy)
void StoreDetectorLocalExitPositionY(Float_t ly)
G4double GetOriginVertexKineticEnergy() const
void StorePrimaryEventNumber(Int_t pen)
QweakSimUserGEM_WirePlaneEvent WirePlane
GEM wire plane hit information.
void StoreOriginVertexTotalEnergy(Float_t etot)
G4double GetTotalEnergy() const
QweakSimUserLeadGlass_MainEvent LeadGlass
tree containing LeadGlass info
void StoreDetectorLocalVertexTotalEnergy(Float_t etot)
void BeginOfEventAction(const G4Event *evt)
void StoreParticleName(TString pn)
void StoreOriginVertexMomentumDirectionY(Float_t vy)
G4ThreeVector GetWorldMomentum() const
void StoreLocalMomentumX(Float_t px)
void StorePreScatteringKineticEnergy(Float_t ekin)
void StoreOriginVertexPositionX(Float_t vx)
void StoreDetectorGlobalPositionZ(Float_t lz)
G4double GetOriginVertexKineticEnergy() const
void StorePMTRightNbOfHits(std::vector< Int_t > npr)
void StoreCrossSectionRadDISIntOnly(Float_t cs)
void StoreOriginVertexPositionY(Float_t vy)
void StoreOriginVertexKineticEnergy(Float_t ekin)
static const G4bool print_Cerenkov_DetectorHit
G4double GetOriginVertexTotalEnergy() const
void StoredETotIn(Float_t dE)
void Clear(const Option_t *=0)
void StoreDetectorID(Int_t did)
void StoreOriginVertexPositionZ(Float_t vz)
G4double GetOriginVertexPhiAngle() const
void StorePlaneGlobalPositionY(Float_t gy)
std::vector< Float_t > GetDetectorLocalVertexTotalEnergy() const
G4ThreeVector GetOriginVertexMomentumDirection() const
G4int CerenkovRadiator_CollID
void StoreOriginVertexMomentumDirectionZ(Float_t vz)
G4ThreeVector GetOriginVertexPosition() const
void StoreParticleType(Int_t pt)
void StoreOriginVertexMomentumDirectionZ(Float_t vz)
G4int CerenkovDetectorPMT_CollID
void StoreOriginVertexKineticEnergy(Float_t ekin)
void StoreOriginVertexPositionY(Float_t vy)
void StoreOriginVertexMomentumDirectionX(Float_t vx)
void StoreOriginVertexPhiAngle(Float_t phi)
void StorePMTLeftRateDIS(std::vector< Float_t > rl)
void StoreTotalEnergyDeposit(Float_t eng)
void StoreDetectorGlobalPositionX(Float_t lx)
G4double GetOriginVertexThetaAngle() const
void StorePMTHasBeenHit(std::vector< Int_t > np)
void StoreCrossSectionRadElasticIntOnly(Float_t cs)
void StoreDCFullThickness(Float_t dct)
void StoreGlobalTimeOfHit(Float_t gtime)
G4double GetCrossSectionRadElastic() const
G4double GetCrossSectionRadElasticIntOnly() const
G4String GetParticleName() const
void StoreOriginVertexTotalEnergy(Float_t etot)
void StoreOriginVertexTotalEnergy(Float_t etot)
G4ThreeVector GetWorldPosition() const
G4double GetOriginVertexKineticEnergy() const
void StoredEBremTot(Float_t dE)
G4double GetKineticEnergy() const
void StoreOriginVertexMomentumDirectionX(Float_t vx)
G4double GetOriginVertexKinematicQ2() const
G4double GetCrossSectionBornInelastic() const
void StoreOriginVertexTotalEnergy(Float_t etot)
void StoreGlobalPhiAngle(Float_t phi)
G4double GetKineticEnergy() const
void StorePMTLeftNbOfPEs(std::vector< Float_t > npl)
void StoreGlobalMomentumX(Float_t gpx)
void StoreOriginVertexThetaAngle(Float_t theta)
G4String GetCreatorProcessName() const
void StoreGlobalTimeOfHit(Float_t gtime)
void StoreDetectorGlobalPositionZ(Float_t lz)
G4double GetOriginVertexMomentumDirectionY() const
G4int LumiDetector_CollID
G4double GetGlobalTime() const
void StoreLocalVertexMomentumDirectionZ(Float_t vz)
G4double GetTotalEnergy() const
G4THitsCollection< QweakSimCerenkov_DetectorHit > QweakSimCerenkovDetectorHitsCollection
QweakSimUserInformation * myUserInfo
G4String GetParticleName() const
void StorePMTTotalRateQE(std::vector< Float_t > rt)
G4double GetGlobalTime() const
void StoreCrossSectionRadDIS(Float_t cs)
void StoreOriginVertexTotalEnergy(Float_t etot)
void Clear(const Option_t *=0)
G4double GetPhiAngle_Min()
void StoreOriginVertexPhiAngle(Float_t phi)
void StoreOriginVertexMomentumDirectionX(Float_t vx)
void StoreOriginVertexPositionZ(Float_t vz)
void StoreDetectorNbOfHits(Int_t nd)