#include "OpParamAction.h"
Definition at line 96 of file OpParamAction.h.
larg4::OverlaidWireplanesAction::OverlaidWireplanesAction |
( |
std::vector< std::vector< double > > |
InputVectors, |
|
|
int |
Orientation |
|
) |
| |
Definition at line 85 of file OpParamAction.cxx.
88 G4ThreeVector WireBasis1, WireBasis2;
93 WireBasis1 =G4ThreeVector(0,1,0);
94 WireBasis2 =G4ThreeVector(0,0,1);
96 else if(Orientation==1)
99 WireBasis1 =G4ThreeVector(1,0,0);
100 WireBasis2 =G4ThreeVector(0,0,1);
102 else if(Orientation==2)
105 WireBasis1 =G4ThreeVector(0,1,0);
106 WireBasis2 =G4ThreeVector(0,0,1);
110 throw cet::exception(
"OpParamAction") <<
"Unrecognized wireplane orientation. Options are 1=Xdrift, 2=Ydrift, 3=Zdrift\n";
112 for(
size_t i=0; i!=InputVectors.size(); ++i)
114 if(InputVectors.at(i).size()!=3)
116 throw cet::exception(
"OpParamAction") <<
"Unrecognized wireplane parameter format. Expected vector(3)'s with v[0] = wire angle, v[1] = wire pitch, v[2] = wire diameter\n";
120 double theta = InputVectors[i][0]*3.142/180.;
121 fWireDirections.push_back(cos(theta)*WireBasis1 + sin(theta)*WireBasis2);
122 fDPRatios.push_back(InputVectors[i][2]/InputVectors[i][1]);
std::vector< double > fDPRatios
std::vector< G4ThreeVector > fWireDirections
G4ThreeVector fPlaneNormal
cet::coded_exception< error, detail::translate > exception
larg4::OverlaidWireplanesAction::~OverlaidWireplanesAction |
( |
| ) |
|
double larg4::OverlaidWireplanesAction::GetAttenuationFraction |
( |
G4ThreeVector |
PhotonDirection, |
|
|
G4ThreeVector |
PhotonPosition |
|
) |
| |
|
virtual |
Reimplemented from larg4::OpParamAction.
Definition at line 137 of file OpParamAction.cxx.
140 double AttenFraction=1.;
147 double CosTheta = (ProjDirection.mag() > 0 ? std::abs(
fPlaneNormal.dot(ProjDirection))/ProjDirection.mag() : 1.0);
151 AttenFraction *= (1.0 -
fDPRatios.at(i) / CosTheta);
153 return AttenFraction;
std::vector< double > fDPRatios
std::vector< G4ThreeVector > fWireDirections
G4ThreeVector fPlaneNormal
std::vector<double> larg4::OverlaidWireplanesAction::fDPRatios |
|
private |
G4ThreeVector larg4::OverlaidWireplanesAction::fPlaneNormal |
|
private |
std::vector<G4ThreeVector> larg4::OverlaidWireplanesAction::fWireDirections |
|
private |
The documentation for this class was generated from the following files: