All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
larg4::SimpleWireplaneAction Class Reference

#include <OpParamAction.h>

Inheritance diagram for larg4::SimpleWireplaneAction:
larg4::OpParamAction

Public Member Functions

 SimpleWireplaneAction (TVector3 WireDirection, TVector3 PlaneNormal, double WirePitch, double WireDiameter)
 
 SimpleWireplaneAction (std::vector< std::vector< double > >, int)
 
 ~SimpleWireplaneAction ()
 
double GetAttenuationFraction (G4ThreeVector PhotonDirection, G4ThreeVector PhotonPosition)
 
- Public Member Functions inherited from larg4::OpParamAction
 OpParamAction ()
 
virtual ~OpParamAction ()
 

Private Attributes

G4ThreeVector fWireDirection
 
G4ThreeVector fPlaneNormal
 
double fDPRatio
 

Detailed Description

Definition at line 75 of file OpParamAction.h.

Constructor & Destructor Documentation

larg4::SimpleWireplaneAction::SimpleWireplaneAction ( TVector3  WireDirection,
TVector3  PlaneNormal,
double  WirePitch,
double  WireDiameter 
)

Definition at line 39 of file OpParamAction.cxx.

40  {
41  fWireDirection = G4ThreeVector(WireDirection.X(),
42  WireDirection.Y(),
43  WireDirection.Z()).unit();
44  fPlaneNormal = G4ThreeVector(PlaneNormal.X(),
45  PlaneNormal.Y(),
46  PlaneNormal.Z()).unit();
47  fDPRatio = WireDiameter/WirePitch;
48  }
larg4::SimpleWireplaneAction::SimpleWireplaneAction ( std::vector< std::vector< double > >  ,
int   
)
larg4::SimpleWireplaneAction::~SimpleWireplaneAction ( )

Definition at line 52 of file OpParamAction.cxx.

53  {
54  }

Member Function Documentation

double larg4::SimpleWireplaneAction::GetAttenuationFraction ( G4ThreeVector  PhotonDirection,
G4ThreeVector  PhotonPosition 
)
virtual

Reimplemented from larg4::OpParamAction.

Definition at line 62 of file OpParamAction.cxx.

63  {
64  G4ThreeVector ProjDirection = PhotonDirection - fWireDirection*(fWireDirection.dot(PhotonDirection));
65  double CosTheta = std::abs(fPlaneNormal.dot(ProjDirection));
66  if(CosTheta < fDPRatio)
67  return 0;
68  else
69  return (1.0 - fDPRatio / CosTheta);
70  }
T abs(T value)

Member Data Documentation

double larg4::SimpleWireplaneAction::fDPRatio
private

Definition at line 87 of file OpParamAction.h.

G4ThreeVector larg4::SimpleWireplaneAction::fPlaneNormal
private

Definition at line 86 of file OpParamAction.h.

G4ThreeVector larg4::SimpleWireplaneAction::fWireDirection
private

Definition at line 85 of file OpParamAction.h.


The documentation for this class was generated from the following files: